J'ai lu de très bonnes choses sur les magasins de clé/valeur tels que Redis, mais je n'arrive pas à comprendre quand il est temps de l'utiliser dans une application.
Dites que je suis en train de concevoir une application Web; Je sais quelle pile je vais utiliser pour le front-end, le back-end, la ou les bases de données, etc. Quels sont certains scénarios dans lesquels je choisirais "oh, nous avons également besoin de Redis pour X, Y ou Z."
J'apprécierais des exemples de node.js ainsi que des exemples non-node.js.
Je n'arrive pas à comprendre quand il est temps de l'utiliser dans une application.
Je vous recommande de lire this tutoriel qui contient également des cas d'utilisation. Redis étant plutôt orienté mémoire, il est vraiment utile pour les données en temps réel fréquemment mises à jour, telles que le magasin de session, la base de données d'état, les statistiques, la mise en cache et ses structures de données avancées offrent une polyvalence à de nombreux autres scénarios.
Redis, cependant, n'est pas un substitut de NoSQL aux bases de données relationnelles classiques car il ne prend pas en charge de nombreuses fonctionnalités standard du monde des SGBDR, telles que l'interrogation de vos données qui pourrait le ralentir. Les pièces de remplacement sont plutôt des bases de données de documents telles que MongoDB ou CouchDB et redis est un excellent moyen de compléter des fonctionnalités spécifiques où la rapidité et la prise en charge de structures de données avancées sont pratiques.
Je pense que rien n’explique mieux les cas d’utilisation de Redis que cet article: http://antirez.com/post/take-advantage-of-redis-adding-it-to-your-stack.html
Je parie que vous aurez un aha! moment . ;)
Une citation d'un lecteur précédent:
J'ai déjà entendu parler de Redis et entendu comment les entreprises l'utilisent, mais je ne l'ai jamais bien compris. Après avoir lu ceci, je peux réellement dire que je comprends Redis maintenant et que c’est utile. Incroyable qu'après avoir entendu tant de choses à ce sujet, il a fallu un article relativement simple.
Une citation de l'article:
Redis est différente des autres solutions de base de données à bien des égards: elle utilise la mémoire comme support de stockage principal et le disque uniquement pour la persistance, le modèle de données est assez unique, il s’agit d’un seul thread, etc. Je pense qu’une autre grande différence est qu’il n’est pas nécessaire de passer à Redis pour tirer parti de Redis dans votre environnement de production. Vous pouvez simplement l'utiliser pour faire de nouvelles choses qui n'étaient pas possibles auparavant, ou pour résoudre de vieux problèmes.
Cas d'utilisation que l'article aborde:
J'aimerais utiliser Redis sur les projets en temps réel. Je l'ai fait récemment pour un système de suivi gps qui était auparavant basé sur mysql en tant que base de données.
AVANTAGE
Une chose est que Redis n'est pas une base de données relationnelle. Si vous avez besoin d'un "JOIN" SQL, vous ne voudrez pas utiliser Redis, ni aucune autre base de données non relationnelle. Redis est plus rapide que la plupart des bases de données relationnelles. Si vous ne ferez que des requêtes clé-paire de valeurs, vous voudrez utiliser Redis.