Application pour gérer Redis: RedisInsight
sudo apt install redis redis-server # starts redis
Utilisation du CLI:
redis-cli
ou bien:
redis-cli -h localhost -p 6379 -a password
KEYS somekey:*
L'utilisation de KEYS
peut ne pas être recommendé.
SCAN 0 COUNT 50 MATCH somekey:*
Example:
> HSET loggedUser:123 name "John Doe" url "https://url" role "Developer" (integer) 3 > HMGET loggedUser:123 name role 1) "John Doe" 2) "Developer"
Exemple d'un panier:
> HSET cart:123 prod:1:name "Oranges" prod:1:price "2,23" prod:1:amount "1" prod:2:name "Apples" prod:2:price "1,50" prod:2:amount "4" (integer) 5 > HINCRBY cart:123 prod:1:amount 3 (integer) 4 > HGETALL cart:123 1) "prod:1:name" 2) "Oranges" 3) "prod:1:price" 4) "1,50" 5) "prod:1:amount" 6) "4" 7) "prod:2:name" 8) "Apples" 9) "prod:2:amount" 10) "4" > HLEN cart:123 (integer) 5
> LPUSH mylist "one" "two" "three" "last element" > LPOP mylist "last element" (integer) 4 > LPOP mylist 3 1) "three" 2) "two" 3) "one"
> LPUSH mylist "one" "two" "three" "last element" (integer) 4 > LRANGE mylist 0 1 1) "last element" 2) "three" > LRANGE mylist 0 -1 1) "last element" 2) "three" 3) "two" 4) "one"
INSERT
> LINSERT mylist AFTER "two" "four" (integer) 5 > LRANGE mylist 0 -1 1) "last element" 2) "three" 3) "two" 4) "four" 5) "one"
Set est une liste non ordonnée.
SADD thequeue "Element1" "Element2" "Element2" SMEMBERS thequeue
SUBSCRIBE <channel name>
Sur un client Consumer:
SUBSCRIBE notifications
Sur un autre client Producer:
PUBLISH notifications "Ici un message important"
Le message apparaîtra sur le client subcriber.
ZADD leaderboard 200 "Player 2" ZADD leaderboard 240 "Player 3" ZADD leaderboard 100 "Player 1" ZADD leaderboard 180 "Player 5" ZADD leaderboard 320 "Player 4" ZRANGE leaderboard 0 5
Par défaut, c'est ordonné dans un sens ascendant. Pour le top score en haut, on peut faire ceci:
ZREVRANGE leaderboard 0 5
Mise à jour des points:
ZINCRBY leaderboard 440 "Player 3"
Il faut configurer cela pour pouvoir subscribe à des événements Redis. Par exemple, nous voudrions peut-être réagir à une clé expirée.
Avec le redis-cli
on peut faire:
> config set notify-keyspace-events KEx
KEx
comprends les événements d'expiration, on peut utiliser KEA
pour toutes sortes d'événements. Voir Keyspace notifications Configuration pour les options.
Si on utilise une image Bitnami de Redis, on a la possibilité de spécifier un fichier de configuration overrides.conf
qui contient ce paramètre:
notify-keyspace-events "KEx"
Ensuite dans le docker-compose.yml
, on peut monter ce fichier:
- ./conf/redis/overrides.conf:/opt/bitnami/redis/mounted-etc/overrides.conf
Depuis la version 7.4, Redis se présente sous deux licences différentes:
Alternatives: