Le cache est divisé en cache local et cache distribué. En prenant Java comme exemple, la mise en cache locale est implémentée à l'aide de la carte ou de la goyave intégrée. La principale caractéristique est qu'elle est légère et rapide. Le cycle de vie se termine par la destruction de la JVM, et dans le cas de plusieurs instances, de chacune. instance Chaque cache doit être enregistré et le cache n'est pas cohérent.
L'utilisation de redis ou de memcached est appelée cache distribué. Dans le cas de plusieurs instances, chaque instance partage un cache de données, et le cache est cohérent. L'inconvénient est que le service Redis ou Memcached doit rester hautement disponible et que l'ensemble de l'architecture du programme est relativement complexe.
Redis peut utiliser des dizaines de gigaoctets de mémoire pour la mise en cache, mais Map ne le peut pas. Généralement, la JVM n'a besoin que de quelques gigaoctets de données pour être suffisamment volumineuse
.
Le cache Redis peut être conservé, Map est un objet mémoire et les données disparaîtront dès le redémarrage du programme
Redis peut implémenter la mise en cache distribuée, et Map ne peut exister que dans le programme qui l'a créé
Redis peut gérer des millions de simultanéités par seconde et est un service de mise en cache professionnel. Map n'est qu'un objet ordinaire
.
Le cache Redis a un mécanisme d'expiration, Map lui-même n'a pas cette fonction
Redis a une API riche, Map est beaucoup plus simple
1. Les données Redis peuvent être enregistrées de manière persistante. Si vous souhaitez continuer à utiliser certains caches après le redémarrage du programme, map ne peut pas y parvenir 2. . Map ne peut pas être implémenté 3. Redis possède de nombreuses structures de données faciles à utiliser, telles que le tri de liste de jeux de hachage, etc. Dans certains scénarios, il est plus pratique à utiliser que map
1. Si votre cache doit charger beaucoup de contenu, cela prendra beaucoup de temps au démarrage ; 2. La mémoire JVM est trop grande et il est facile de se bloquer ; redis est écrit en C, avec une stabilité et des performances meilleures ; 4. Le redis actuel prend déjà en charge le mode cluster, la persistance et plus de fonctionnalités 5. >
Redis peut être déployé indépendamment, de sorte que les données mises en cache par Redis seront toujours là après la mise à jour du code du site Web, et la mémoire locale sera libérée à chaque mise à jour du site Web Les données sont stockées dans Redis. , et les données mises en cache peuvent être partagées entre plusieurs projets. S'il s'agit de mémoire locale, elles ne peuvent pas être partagées entre projets
.
Le cache local n'est pas facile à visualiser et à modifier. Redis dispose de riches outils pour gérer les données du cache
Le cache est divisé en cache local et cache distribué. En prenant Java comme exemple, la mise en cache locale est implémentée à l'aide de la carte ou de la goyave intégrée. La principale caractéristique est qu'elle est légère et rapide. Le cycle de vie se termine par la destruction de la JVM, et dans le cas de plusieurs instances, de chacune. instance Chaque cache doit être enregistré et le cache n'est pas cohérent.
L'utilisation de redis ou de memcached est appelée cache distribué. Dans le cas de plusieurs instances, chaque instance partage un cache de données, et le cache est cohérent. L'inconvénient est que le service Redis ou Memcached doit rester hautement disponible et que l'ensemble de l'architecture du programme est relativement complexe.
Redis peut utiliser des dizaines de gigaoctets de mémoire pour la mise en cache, mais Map ne le peut pas. Généralement, la JVM n'a besoin que de quelques gigaoctets de données pour être suffisamment volumineuse
Le cache Redis peut être conservé, Map est un objet mémoire et les données disparaîtront dès le redémarrage du programme
Redis peut implémenter la mise en cache distribuée, et Map ne peut exister que dans le programme qui l'a créé
Redis peut gérer des millions de simultanéités par seconde et est un service de mise en cache professionnel. Map n'est qu'un objet ordinaire
Le cache Redis a un mécanisme d'expiration, Map lui-même n'a pas cette fonction
Redis a une API riche, Map est beaucoup plus simple
1. Les données Redis peuvent être enregistrées de manière persistante. Si vous souhaitez continuer à utiliser certains caches après le redémarrage du programme, map ne peut pas y parvenir
2. . Map ne peut pas être implémenté
3. Redis possède de nombreuses structures de données faciles à utiliser, telles que le tri de liste de jeux de hachage, etc. Dans certains scénarios, il est plus pratique à utiliser que map
1. Si votre cache doit charger beaucoup de contenu, cela prendra beaucoup de temps au démarrage ;
2. La mémoire JVM est trop grande et il est facile de se bloquer ; redis est écrit en C, avec une stabilité et des performances meilleures ;
4. Le redis actuel prend déjà en charge le mode cluster, la persistance et plus de fonctionnalités
5. >
Redis peut être déployé indépendamment, de sorte que les données mises en cache par Redis seront toujours là après la mise à jour du code du site Web, et la mémoire locale sera libérée à chaque mise à jour du site Web
.Les données sont stockées dans Redis. , et les données mises en cache peuvent être partagées entre plusieurs projets. S'il s'agit de mémoire locale, elles ne peuvent pas être partagées entre projets
Le cache local n'est pas facile à visualiser et à modifier. Redis dispose de riches outils pour gérer les données du cache
.