Introduction à Redis

Home PDF

En ouvrant le site officiel de Redis, la première phrase indique que Redis est un système de stockage de structures de données en mémoire open source, souvent utilisé comme base de données et cache. Redis est très couramment utilisé.

Installation de Redis

Vous pouvez installer Redis depuis le site officiel. Tout comme pour SQLite, une fois l’installation terminée, comment utiliser Redis dans Python ?

pip install redis
>>> import redis
>>> r = redis.Redis(host='localhost', port=6379, db=0)
>>> r.set('foo', 'bar')
True
>>> r.get('foo')
b'bar'

La documentation de Python fournit quelques exemples. Ici, quelque chose comme pip apparaît. pip est un outil de gestion de paquets. Pour comprendre ce qu’est un outil de gestion de paquets, vous pouvez consulter le chapitre « Familiarisation avec l’environnement de programmation ». pip est à Python ce que Homebrew est au système macOS.

pip est généralement inclus lors de l’installation de Python. Si votre ordinateur dispose de plusieurs versions de Python et Pip, vous pouvez ajouter les deux lignes suivantes dans votre fichier ~/.bash_profile :

alias python=/usr/local/Cellar/python@3.9/3.9.1_6/bin/python3
alias pip=/usr/local/Cellar/python@3.9/3.9.1_6/bin/pip3

Cela signifie spécifier une version de python et pip. Une méthode consiste à utiliser Homebrew pour l’installation. Il est également possible de l’installer en le construisant à partir des sources.

make
make test
make install
$ redis-server
87684:C 10 Mar 2021 14:46:06.056 # oO0OoO0OoO0Oo Redis démarre oO0OoO0OoO0Oo
87684:C 10 Mar 2021 14:46:06.056 # Version de Redis=6.2.1, bits=64, commit=00000000, modifié=0, pid=87684, vient de démarrer
87684:C 10 Mar 2021 14:46:06.056 # Avertissement : aucun fichier de configuration spécifié, utilisation de la configuration par défaut. Pour spécifier un fichier de configuration, utilisez redis-server /chemin/vers/redis.conf
87684:M 10 Mar 2021 14:46:06.057 * Nombre maximum de fichiers ouverts augmenté à 10032 (il était initialement défini à 4864).
87684:M 10 Mar 2021 14:46:06.057 * Horloge monotone : POSIX clock_gettime
...
Redis 6.2.1 (00000000/0) 64 bits
...
87684:M 10 Mar 2021 14:46:06.058 # Serveur initialisé
87684:M 10 Mar 2021 14:46:06.058 * Prêt à accepter les connexions

Voici un extrait du contenu. On peut voir que nous avons déjà installé Redis. La version est 6.2.1, la plus récente sur le site officiel. Ouvrez une autre fenêtre de terminal. Vous pouvez essayer de jouer un peu avec :

$ redis-cli
127.0.0.1:6379> set a 2
OK
127.0.0.1:6379> get a
"2"

Exécutez le code suivant.

import redis
r = redis.Redis(host='localhost', port=6379, db=0)
r.set('foo', 'bar')
print(r.get('foo'))

Sortie :

$ python fib_redis.py
b'bar'

Exemple de mise en cache avec Redis

Pour implémenter la suite de Fibonacci en version Redis.

import redis
r = redis.Redis(host='localhost', port=6379, db=0)
def f(n):
    nr = r.get(n)
    if nr is not None:
        return int(nr)
    res_n = 0
    if n < 2:
        res_n = n
    else:
        res_n = f(n-1) + f(n-2)
    
    r.set(n, res_n)
    return res_n
print(f(10))

Et voilà, c’est fait.


Back 2025.01.18 Donate