为什么要用redis而不用map做缓存?
PHP中文网
PHP中文网 2017-04-28 09:04:05
0
5
1247

为什么要使用redis来做缓存呢?
redis是key-value的形式,map也是,可以用Map替代redis吗?
如果不能替代,有什么场景或需求是只有redis能实现的呢?

PHP中文网
PHP中文网

认证0级讲师

répondre à tous(5)
过去多啦不再A梦

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.

我想大声告诉你
  1. 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

  2. .
  3. 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

  4. Redis peut implémenter la mise en cache distribuée, et Map ne peut exister que dans le programme qui l'a créé

  5. 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

  6. .
  7. Le cache Redis a un mécanisme d'expiration, Map lui-même n'a pas cette fonction

  8. Redis a une API riche, Map est beaucoup plus simple

phpcn_u1582

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. >

Ty80

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

.
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal