2017-09-26 4 views
-3

Je suis débutant en redis et je l'avais utilisé dans mon projet node.js et il fournit de bons résultats quand je vois les résultats du journal réseau et l'efficacité du temps dans la console.Quand utiliser redis pour une meilleure optimisation?

Donc, fondamentalement, dans le monde où MySQL, firebase, nosql et mongodb sont top là-bas, où se adapterait? Peut-on utiliser redis pour une meilleure optimisation en remplaçant l'une de ces bases de données les plus populaires ou peut-on avoir un plus grand rôle d'application avec des technologies spécifiques? Peut-être qu'il devrait être utilisé avec javascript et son framework (par exemple node.js a une bonne analogie avec redis) plus?

+0

"nosql" n'est pas une base de données. –

+0

@SergioTulentsev ya manqué json à la place! –

Répondre

2

Redis est largement utilisé pour la mise en cache. En d'autres termes, dans une infrastructure à haute disponibilité, lorsque certaines données doivent être consultées plusieurs fois, vous les stockez dans votre base de données, puis vous les stockez en redis avec une clé unique que vous pouvez reconstruire facilement avec les paramètres. Lorsque les données sont mises à jour, il vous suffit d'effacer cette clé dans redis et de l'ajouter à nouveau avec les nouvelles données.

Exemple:

Vous avez des milliers d'utilisateurs. Ils se connectent tous plusieurs fois et vont sur leur profil. Vous voudrez peut-être stocker leurs informations de profil dans redis avec une clé {userid}_user_info.

L'utilisateur tente d'accéder à son profil: d'abord vérifier si les données existe dans Redis, si oui le retourner, obtenir sinon il de db et l'insérer dans Redis

L'utilisateur met à jour ses informations de profil, juste actualise la valeur redis. etc.


Il y a aussi une autre façon Redis est utilisé, il est pour faire la queue des tâches et la synchronisation des émissions de Websockets à travers des machines. Voici un article utile à ce sujet http://fiznool.com/blog/2016/02/24/building-a-simple-message-queue-with-redis/


Selon l'utilisation Redis comme base de données, bien pour les données simple, il peut être utilisé, comme les endroits où une simple clé/valeur est suffisante. Pour stocker des données complexes, c'est un peu compliqué, surtout si vous voulez utiliser des fonctionnalités relationnelles ou rechercher des fonctionnalités. Redis est rapide car il ne possède pas toutes ces fonctionnalités, et garde les données en mémoire (pas seulement, mais ça contribue).