relecture très rapide
This commit is contained in:
parent
152d083fbc
commit
333933a9fe
|
@ -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 l’unité systemd suivant dans /etc/systemd/system/redis-sentinel.service :
|
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
|
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
|
||||||
|
|
Loading…
Reference in a new issue