diff --git a/HowtoRedis.md b/HowtoRedis.md index 05d4de1f..1c6e6dab 100644 --- a/HowtoRedis.md +++ b/HowtoRedis.md @@ -1,26 +1,44 @@ -# Howto Redis +--- +categories: databases nosql +title: Howto Redis +... -Redis est un serveur noSQL clé-valeur. Une valeur peut être une chaîne de caractères, un tableau, une liste, etc. +* Documentation : +* Rôle Ansible : + + +[Redis](https://redis.io/) est un serveur noSQL clé-valeur. Une valeur peut être une chaîne de caractères, un tableau, une liste, etc. Redis tourne en mémoire, et sauvegarde de temps en temps ses données sur le disque. - ## Installation *Sous Debian Jessie*, la version de Redis est 2.8.17 : ~~~ -# apt install redis-server +# apt install redis-server redis-tools + +$ /usr/bin/redis-server -v +Redis server v=3.2.6 sha=00000000:0 malloc=jemalloc-3.6.0 bits=64 build=826601c992442478 + +# systemctl status redis +● redis-server.service - Advanced key-value store + Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled) + Docs: http://redis.io/documentation, + man:redis-server(1) + Main PID: 3432 (redis-server) + CGroup: /system.slice/redis-server.service + └─3432 /usr/bin/redis-server 127.0.0.1:6379 ~~~ -Si on utilise systemd, on surcharge l'unit redis.service en spécifiant -le RuntimeDirectory (voir la note +Si on utilise [systemd](HowtoSystemd), on surcharge l'unité `redis.service` en spécifiant +le `RuntimeDirectory` (voir la note [dans la documentation de la migration Wheezy -> Jessie](HowtoDebian/MigrationWheezyJessie#redis)). + ## Configuration -La configuration principale se fait dans _/etc/redis/redis.conf_ dont voici -quelques options : +La configuration principale se fait dans `/etc/redis/redis.conf` dont voici quelques options : ~~~ daemonize yes @@ -121,6 +139,7 @@ $ tar --exclude debian --exclude .git -cvzf ../php5-redis_0.1~git20120519.orig.t $ git-buildpackage -us -uc ~~~ + ## Sessions PHP avec Redis Redis peut notamment être utilisé pour stocker les sessions PHP. Par exemple : @@ -130,6 +149,7 @@ session.save_handler = redis session.save_path = "tcp://127.0.0.1:6379?auth=" ~~~ + ## Instances Redis Il est possible de faire fonctionner plusieurs instances de Redis sur un serveur ; chacune avec ses propres données, sa propre configuration et son propre utilisateur. @@ -214,6 +234,7 @@ systemctl enable redis@instance1 systemctl disable redis@instance1 ~~~ + ## Sauvegardes @@ -223,6 +244,7 @@ Il suffit donc de copier le fichier */var/lib/redis/dump.rdb* pour sauvegarder u Pour restaurer les données, il suffira d'éteindre Redis, remettre en place le fichier RDB, et relancer Redis. + ## Réplication @@ -286,7 +308,7 @@ Sentinel permet de faire du failover avec des slaves Redis. Attention, il est encore en développement. Il est donc dans la branche instable du dépôt de redis. Par ememple, une instance master redis1 et un slave redis2. En cas de panne les rôles s'échangent, redis2 devient master et redis1 devient le slave. -#### Unite systemd +#### Unité systemd Créer l’unité systemd suivant dans /etc/systemd/system/redis-sentinel.service : @@ -327,6 +349,7 @@ Sentinel doit pouvoir ecrire dans son fichier de configuration : chown redis: /etc/redis/sentinel.conf ~~~ + ## Benchmarks @@ -431,6 +454,7 @@ redis-benchmark -n 100000 [etc.] ~~~ + ## Monitoring ### En live