relecture très rapide

This commit is contained in:
Gregory Colpart 2017-09-26 00:50:29 +02:00
parent 152d083fbc
commit 333933a9fe

View file

@ -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 : <https://redis.io/documentation>
* Rôle Ansible : <https://forge.evolix.org/projects/ansible-roles/repository/show/redis>
[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. Redis tourne en mémoire, et sauvegarde de temps en temps ses données sur le disque.
<http://redis.io/documentation>
## Installation ## Installation
*Sous Debian Jessie*, la version de Redis est 2.8.17 : *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 Si on utilise [systemd](HowtoSystemd), on surcharge l'unité `redis.service` en spécifiant
le RuntimeDirectory (voir la note le `RuntimeDirectory` (voir la note
[dans la documentation de la migration Wheezy -> Jessie](HowtoDebian/MigrationWheezyJessie#redis)). [dans la documentation de la migration Wheezy -> Jessie](HowtoDebian/MigrationWheezyJessie#redis)).
## Configuration ## Configuration
La configuration principale se fait dans _/etc/redis/redis.conf_ dont voici La configuration principale se fait dans `/etc/redis/redis.conf` dont voici quelques options :
quelques options :
~~~ ~~~
daemonize yes daemonize yes
@ -121,6 +139,7 @@ $ tar --exclude debian --exclude .git -cvzf ../php5-redis_0.1~git20120519.orig.t
$ git-buildpackage -us -uc $ git-buildpackage -us -uc
~~~ ~~~
## Sessions PHP avec Redis ## Sessions PHP avec Redis
Redis peut notamment être utilisé pour stocker les sessions PHP. Par exemple : 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=<password>" session.save_path = "tcp://127.0.0.1:6379?auth=<password>"
~~~ ~~~
## Instances Redis ## 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. 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 systemctl disable redis@instance1
~~~ ~~~
## Sauvegardes ## Sauvegardes
<http://redis.io/topics/persistence> <http://redis.io/topics/persistence>
@ -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. Pour restaurer les données, il suffira d'éteindre Redis, remettre en place le fichier RDB, et relancer Redis.
## Réplication ## Réplication
<http://redis.io/topics/replication> <http://redis.io/topics/replication>
@ -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. 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. 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 lunité systemd suivant dans /etc/systemd/system/redis-sentinel.service : Créer lunité 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 chown redis: /etc/redis/sentinel.conf
~~~ ~~~
## Benchmarks ## Benchmarks
<http://redis.io/topics/benchmarks> <http://redis.io/topics/benchmarks>
@ -431,6 +454,7 @@ redis-benchmark -n 100000
[etc.] [etc.]
~~~ ~~~
## Monitoring ## Monitoring
### En live ### En live