273 votes

Redis est-il seulement un cache ?

J'ai lu quelques documents sur Redis et essayé le tutoriel à l'adresse suivante http://try.redis-db.com/ . Jusqu'à présent, je ne vois pas de différence entre Redis et les technologies de mise en cache comme Velocity ou Enterprise Library Caching Framework.

En fait, vous ne faites qu'ajouter des objets à un magasin de données en mémoire en utilisant une clé unique. Il ne semble pas y avoir de sémantique relationnelle...

Qu'est-ce que je rate ?

3 votes

De redis.io : Redis est un magasin de clés-valeurs avancé et open source. On l'appelle souvent un serveur de structures de données puisque les clés peuvent contenir des chaînes de caractères, des hachages, des listes, des ensembles et des ensembles triés. Cela dit, j'ai voté pour fermer votre question car elle ne correspond pas au format de StackOverflow.

30 votes

Je suis d'accord, ce n'est pas le format SO. Où pensez-vous qu'il serait plus approprié ?

1voto

lisz1012 Points 21

Utilisations de Redis :

  1. Cache avec plusieurs structures de données, comme : string, set, zset, list, hash et bitmap (qui pourrait être utilisé dans de nombreux cas d'agrégation)
  2. KV DB. Les données contenues dans la mémoire de Reids peuvent être stockées sur disque : RDB et AOF peuvent obtenir les snapshots et éditer les logs.
  3. File d'attente des messages. Mais un message ne peut être consommé que par un seul consommateur.
  4. Pubsub
  5. Verrouillage distribué. S'appuyer sur le setnx et seul le premier thread qui l'exécute avec succès détiendra le verrou. https://redis.io/commands/setnx

0voto

Manvendra Jina Points 99

Redis est un cache qui convient le mieux à un environnement distribué/une architecture microservice.

Il est rapide, fiable, assure l'atomicité et la cohérence et dispose d'une gamme de types de données tels que les ensembles, les hachages, les listes, etc.

Je l'utilise depuis un an et il est vraiment un sauveur lorsque vous avez besoin de fournir une solution prête à la production très rapidement et pour tous les problèmes liés aux performances, car vous pouvez toujours l'utiliser pour mettre les données en cache.

0voto

En plus d'être un serveur de cache, Redis est spécifiquement un serveur de structures de données. Le fait d'être un cache sous la forme d'un serveur de structures de données signifie beaucoup, car les structures de données sont des éléments fondamentaux de programmes, ou applications . Considérez que vous utilisez des bases de données SQL comme technologie de stockage et que vous avez besoin de construire une liste, une carte de hachage, un ensemble de classement ou des choses comme ça, c'est une sorte de douleur dans le cou. Redis peut vous fournir ces fonctionnalités directement de manière très simple, ce qui simplifie grandement le développement.

D'autre part, un serveur de structures de données ne doit pas nécessairement se présenter sous la forme d'un cache. Il existe des projets compatibles avec Redis mais disposant de moteurs de stockage persistant.

0voto

fgul Points 86

En plus des réponses apportées jusqu'à présent et pour résumer

  • Redis est une base de données non relationnelle très rapide qui stocke un mappage de clés vers cinq types de valeurs différents (chaînes de caractères, hachages, listes, ensembles, ensembles triés, bitmaps et hyperlogs). Ceci est expliqué en détail par les réponses de @Sripathi Krishnan.

  • Redis supporte le stockage persistant en mémoire sur disque.

  • Réplication pour augmenter les performances de lecture

  • Sharding côté client pour faire évoluer les performances d'écriture

Si vous souhaitez obtenir des informations plus détaillées et approfondies sur Redis, vous pouvez consulter le site suivant Redis en action et Les fondamentaux de Redis des livres.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X