Redis

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 22

REmote DIctionary Server

(in-memory data stores)


Redis
• Redis, qui signifie Remote Dictionary Server (Serveur de dictionnaire
à distance), est un système de stockage de données clé-valeur en
mémoire, open source et rapide.

• Redis est l'un des magasins de données en mémoire (in-memory data


stores) open source les plus populaires en raison de sa polyvalence en
matière de mise en cache, de stockage de session, de stockage de
données en temps réel, de messagerie et d'ingestion de données à
grande vitesse.
Pourquoi Redis ?
• La polyvalence de Redis lui permet d'agir comme une base de
données, un cache, un courtier de messages et un moteur de
streaming.
• De plus, en raison de la nature axée sur les performances de Redis, il
est idéal pour créer des applications hautes performances.
• De plus, Redis possède des fonctionnalités telles que le clustering, la
haute disponibilité, les scripts côté serveur via Lua et les procédures
stockées côté serveur via les fonctions Redis et l'extensibilité, ce qui
rend Redis adapté à la gestion de la plupart des besoins des
utilisateurs.
Cashing avec Redis
• Il s’agit de la Mise en cache des données
• En tant que magasin de clé-valeur en mémoire, Redis est conçu sur
mesure pour la mise en cache des données.
• Dans un cadre typique, Redis se situera entre une base de données
plus traditionnelle comme MySQL ou PostgreSQL et une application
logicielle et fournira une couche de stockage à haute vitesse pour les
données fréquemment consultées.
• Permettant ainsi à l'application logicielle d'accéder rapidement à ces
données sans avoir à interroger la base de données à chaque fois
qu'un utilisateur final fait une demande.
Particularités

Redis a trois particularités principales qui le distinguent :


• Redis conserve sa base de données entièrement en mémoire,
n'utilisant le disque que pour la persistance.
• Redis dispose d'un ensemble relativement riche de types de données
par rapport à de nombreux magasins de données clé-valeur.
• Redis peut répliquer des données sur n'importe quel nombre
d'esclaves.
Avantages de Redis
Voici certains avantages de Redis :

• Exceptionnellement rapide - Redis est très rapide et peut effectuer


environ 110 000 SET par seconde, environ 81 000 GET par seconde.
• Prend en charge les types de données riches - Redis prend en charge
nativement la plupart des types de données que les développeurs
connaissent déjà, tels que list, set, sorted set et hashes.
Types de données (Exemple)
• String :

Exemple:
redis 127.0.0.1:6379> SET name myname
OK
redis 127.0.0.1:6379> GET name
"myname"
Types de données (Exemple)
• Hashes:

Exemple:

redis 127.0.0.1:6379> HMSET user:1 username testing password testing points 200
OK
redis 127.0.0.1:6379> HGETALL user:1
1) "username"
2) "testing"
3) "password"
4) "testing"
5) "points"
6) "200"
Types de données (Exemple)
• Lists :

Exemple:
redis 127.0.0.1:6379> lpush testinglist redis
redis 127.0.0.1:6379> lpush testinglist mongodb
redis 127.0.0.1:6379> lpush testinglist rabitmq
redis 127.0.0.1:6379> lrange testinglist
1)"rabitmq"
2)"mongodb"
3)"redis"
Types de données (Exemple)
• Sets :

Exemple:
redis 127.0.0.1:6379> sadd tutoriallist redis
redis 127.0.0.1:6379> sadd tutoriallist mongodb
redis 127.0.0.1:6379> sadd tutoriallist rabitmq
redis 127.0.0.1:6379> sadd tutoriallist rabitmq
redis 127.0.0.1:6379> smembers tutoriallist
1)"rabitmq"
2)"mongodb"
3)"redis"
Redis
Redis peut être utilisé comme :

• Base de données
• Cache
• Agent de messages
• File d'attente.
Redis - Avantages
Parmi les avantages de Redis :
• Il offre des temps de réponse inférieurs à la milliseconde, permettant
des millions de requêtes par seconde pour les applications en temps
réel dans des secteurs comme les jeux, la publicité, les services
financiers et l'IoT.
Redis – Use cases
En raison de ses performances rapides, Redis est un choix populaire
pour :

• La mise en cache
• La gestion de session
• Les jeux, les classements
• L’analyse en temps réel
• Le géospatial
• La messagerie
Redis comme Base de données
• Comme Redis est un stockage en mémoire, on ne peut pas stocker de
données volumineuses qui ne correspondent pas à la taille de la
mémoire de notre machine.

• Redis fonctionne généralement très mal lorsque les données qu'il


stocke sont supérieures à 1/3 de la taille de la RAM. C'est donc la
limitation fatale de l'utilisation de Redis comme base de données.

• Il faut donc avoir une infrastructure dont la mémoire est compté en


TB.
Prévention de pertes de données
Redis a 2 méthodes pour la persistance : Snapshotting et Append-only file :

• Snapshotting sera activé en ajoutant (ou en décommentant) enregistrer X


Y dans le fichier de configuration. Cela signifie que Redis videra
automatiquement l'ensemble de données sur le disque toutes les X
secondes si au moins les clés Y ont changé. Il peut y avoir plusieurs options
de sauvegarde dans le fichier de configuration.

• Le fichier Append-only sera activé en ajoutant (ou en décommentant)


appendonly YES dans le fichier de configuration
Redis Modules
• Les modules Redis enrichissent les structures de données de base de
Redis avec une capacité de recherche et des modèles de données
modernes comme JSON, les graphiques, les séries chronologiques et
l'intelligence artificielle.

• Les modules Redis permettent de créer de nouveaux services


d'application au-dessus de Redis tout en continuant à profiter de la
vitesse inférieure à la milliseconde de Redis.
Redis Modules (RediSearch)

• RediSearch est un moteur de recherche en temps réel qui s'exécute


sur les données Redis et permet d'interroger des données qui
viennent d'être indexées.
Redis Modules (RedisJSON)

• RedisJSON est conçu pour une manipulation rapide, efficace et en


mémoire des documents JSON à grande vitesse et en volume. Il
permet de stocker les données de document dans un format
hiérarchique, semblable à une arborescence, qui peut être modifié et
interrogé efficacement.
Redis Modules (RedisGears)

• RedisGears est un framework dynamique qui permet aux


développeurs d'écrire et d'exécuter des fonctions qui implémentent
des flux de données dans Redis, tout en faisant abstraction de la
distribution et du déploiement des données.
• Ces fonctionnalités permettent un traitement efficace des données à
l'aide de plusieurs modèles dans Redis.
Autres Modules de Redis
• RedisAI
• RedisGraph
• RedisTimeSeries
• RedisBloom
Redis vs RDBMS
Redis RDBMS

Redis stocke tout dans la mémoire principale. RDBMS stocke tout dans la mémoire secondaire.

Dans Redis, les opérations de lecture et d'écriture sont Dans RDBMS, les opérations de lecture et d'écriture
extrêmement rapides en raison du stockage des sont lentes en raison du stockage des données dans
données dans la mémoire primaire. la mémoire secondaire.

La mémoire primaire est de taille moindre et beaucoup La mémoire secondaire est de taille abondante et
plus chère que la mémoire secondaire, donc Redis ne bon marché que la mémoire principale, donc RDBMS
peut pas stocker de gros fichiers ou de données binaires. peut facilement gérer ce type de fichiers.

Redis est utilisé uniquement pour stocker les petites Le RDBMS peut contenir des données volumineuses
informations textuelles qui doivent être consultées, qui sont moins fréquemment utilisées et qui ne
modifiées et insérées à un rythme très rapide. doivent pas nécessairement être très rapides.
Si vous essayez d'écrire plus de données en bloc que la
mémoire disponible, vous recevrez des erreurs.

Vous aimerez peut-être aussi