22
0
Fork 0

relecture très rapide

This commit is contained in:
Gregory Colpart 2017-09-26 00:50:29 +02:00
parent 152d083fbc
commit 333933a9fe
1 changed files with 33 additions and 9 deletions

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.
<http://redis.io/documentation>
## 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=<password>"
~~~
## 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
<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.
## Réplication
<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.
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 :
@ -327,6 +349,7 @@ Sentinel doit pouvoir ecrire dans son fichier de configuration :
chown redis: /etc/redis/sentinel.conf
~~~
## Benchmarks
<http://redis.io/topics/benchmarks>
@ -431,6 +454,7 @@ redis-benchmark -n 100000
[etc.]
~~~
## Monitoring
### En live