Redisのfrom_url()とsetex()についてメモ

PythonでのRedisの操作に関連するメソッドについてメモします。

ドキュメント

Redisの公式ドキュメントはこちらになるようです。

redis.io

redis-py.readthedocs.io

from_url()

Redisに接続するメソッド。
引数にRedisのエンドポイントをURLを指定して接続できる。

example_connection = redis.from_url(url)

URLは変数化した方が使いやすいので、Djangoであればsettings.REDIS_URLで呼び出せるようにsetting.pyに定義したり、環境変数に設定する。

また、Redisから取得したデータはbyteで返されるようだが、第二引数にdecode_responseを指定するとdecoceされ文字列として受け取れる。

redis_client = redis.Redis.from_url(redis_url, decode_responses=True)

setex()

setexはkeyに対するvalueとexpiration timeを設定するメソッド。
設定した時間を過ぎるとkeyとvalueは自動的にRedisから削除される。

import redis

redis_client = redis.Redis.from_url(redis_url, decode_responses=True)

redis_client.setex('mykey', 10, 'hello')

上記だと以下のような設定になる。
- keyjは'mykey' - 持続する時間(TTL)は10秒 - 値は'hello'