Redis
 sql >> Base de données >  >> NoSQL >> Redis

Cache Redis vs utilisation directe de la mémoire

Redis est une télécommande serveur de structure de données. C'est certainement plus lent que de simplement stocker les données dans la mémoire locale (car cela implique des allers-retours de socket pour récupérer/stocker les données). Cependant, il apporte également quelques propriétés intéressantes :

  • Redis est accessible par tous les processus de vos applications, s'exécutant éventuellement sur plusieurs nœuds (ce que la mémoire locale ne peut pas réaliser).

  • Le stockage de la mémoire Redis est assez efficace et se fait dans un processus séparé. Si l'application s'exécute sur une plate-forme dont la mémoire est ramassée (node.js, java, etc ...), elle permet de gérer un cache/magasin de mémoire beaucoup plus important. En pratique, les tas très volumineux ne fonctionnent pas bien avec les langages ramassés.

  • Redis peut conserver les données sur le disque si nécessaire.

  • Redis est un peu plus qu'un simple cache :il fournit diverses structures de données, diverses politiques d'éviction d'éléments, des files d'attente de blocage, pub/sub, atomicité, scripts Lua, etc ...

  • Redis peut répliquer son activité avec un mécanisme maître/esclave afin de mettre en place de la haute disponibilité.

Fondamentalement, si vous avez besoin que votre application évolue sur plusieurs nœuds partageant les mêmes données, alors quelque chose comme Redis (ou tout autre magasin de clé/valeur distant) sera nécessaire.