Éviction du cache
Pour chaque cache, la taille du cache doit être estimée à l'avance en tenant soigneusement compte de l'utilisation des données par votre application. Cependant, votre cache a des limites de stockage et si les données résident dans le cache pour toujours, il finira par devenir plein. Pour gérer cela, NCacheLa fonctionnalité d'expulsion du cache de peut être utilisée.
Dans Eviction, lorsque votre cache est plein, NCache décide d'expulser ses données existantes sur la base de l'utilisation ou de la priorité pour accueillir de nouvelles données entrantes. L'expulsion facilitera les opérations de cache tout en limitant la taille du cache en supprimant un pourcentage configuré de données.
NCache propose différentes politiques d'expulsion. Ces politiques décident quelles données seront supprimées lorsque le cache est plein :
Expulsion du cache basée sur la priorité
Notes
Cette fonctionnalité est également disponible dans NCache Professional.
Cette stratégie d'expulsion du cache permet au cache d'expulser d'abord les données les moins importantes. Cette politique d'expulsion est votre choix évident si vous pouvez classer les données du cache selon différentes priorités. La priorité est spécifiée avec l'élément de cache lors de son ajout au cache. Vous pouvez spécifier n'importe laquelle des priorités parmi les 6 niveaux de priorités suivants :
- Faible
- Inférieure à la normale
- Normal
- Dessus de la normale
- Haute
- Non amovible : ce niveau de priorité spécifie que l'élément de cache ne doit pas être expulsé et ne peut être configuré qu'à l'aide de l'option NCache API.
Moins récemment utilisé (LRU)
Cette stratégie d'expulsion permet aux caches d'expulser les données qui ne sont plus utilisées. Les données sont expulsées en fonction de leur dernière heure d'accès. Les données consultées il y a longtemps sont les plus appropriées pour l’expulsion par rapport aux données consultées récemment. Le temps d'accès est mis à jour lorsque les données sont récupérées/mises à jour à partir du cache.
Les moins fréquemment utilisés (LFU)
Cette politique d'expulsion permet au cache d'expulser les données les moins fréquemment utilisées. Les données sont expulsées en fonction de la fréquence de leur utilisation. Par exemple, si un élément est consulté 5 fois, il constitue alors un candidat plus approprié à l’expulsion qu’un élément consulté 20 fois.
Ne pas expulser
Notes
Cette fonctionnalité est uniquement disponible dans NCache Enterprise.
Outre différentes politiques, il existe une autre option pour désactiver l’expulsion. Dans ce cas, lorsque le cache est plein, le cache n'expulse aucune donnée tandis que toutes les demandes d'ajout de données entrantes sont rejetées.
Taux d'expulsion
Vous pouvez également spécifier le taux d'expulsion, c'est-à-dire le pourcentage selon lequel les données doivent être expulsées du cache. L'expulsion supprime uniquement le pourcentage configuré de données du cache, une fois l'expulsion déclenchée.
Cache presque plein, avertissement
Lorsque le cache est plein à environ 80 % et doit être expulsé, NCache enregistre les événements dans l'Observateur d'événements de Windows et dans les fichiers journaux du cache.
Suppression massive de données
Le nombre d'éléments du cache à supprimer lors de l'expulsion peut être énorme en fonction de la taille du cache et du taux d'expulsion. C'est pourquoi l'expulsion supprime les données en masse. La taille de l'opération groupée est configurable via le fichier de configuration du serveur de cache trouvé dans le NCache mise en place comme suit :
- .NET: Alachisoft.NCache.Service.exe.config situé à %NCHOME%/bin/service
- .NET Core Windows: Alachisoft.NCache.Service.dll.config situé à %NCHOME%/bin/service
- .NET Core Linux/Unix: Alachisoft.NCache.Daemon.dll.config situé à / opt /ncache/bin/service
- Windows Java: Alachisoft.NCache.Service.dll.config situé à %NCHOME%/bin/service
- JavaLinux: Alachisoft.NCache.Daemon.dll.config situé à / opt /ncache/bin/service
De même, vous pouvez également configurer le délai entre deux opérations de suppression groupée à l'aide d'un fichier de configuration de service.
Expulsion dans un environnement en cluster
Dans le Partitionné et les terres parsemées de Réplique de partition topologies, la distribution des données est basée sur un algorithme de hachage. Chaque nœud a des données divisées, chaque nœud est donc responsable de l'expulsion de ses données. Cependant, le nœud de réplique dans Partition-Replica n'expulse pas les données lui-même : les données sont automatiquement supprimées de la réplique lorsqu'elles sont supprimées du nœud actif.
Dans le Répliqué topologie, chaque nœud a le même ensemble de données, donc seul le coordinateur du cluster est responsable de l'éviction.
Dans le Miroir Le cache n'a que deux nœuds, un actif et un passif. Ainsi, le nœud actif se charge de réaliser l’éviction sur l’ensemble du cache.
Voir aussi
Politique d'expulsion
Indexage
Gestion des versions de classe
Partage de données d'exécution