« ^ »

Redisを使う

所要時間: 約 1分

今回は、自由1かつオープンソース2なキーバリューストアであるRedisを使う3

簡単な操作

docker pull redis:7.2.1-bookworm
コンテナイメージを取得する。
docker run --rm --name redis \
     --publish 6379:6379 \
     redis
コンテナを起動する。
docker exec -it redis redis-cli
コンテナ内にあるクライアントを使う。
127.0.0.1:6379>
SET aaa yay
キーとバリューを設定する。
OK
GET aaa
キーに対応するバリューを取得する。
"yay"

Pythonとredis-pyでRedisを使う

redis-pyをインストールする。

pip install redis

Redisに接続する。

  import redis

  conn = redis.Redis(
      host="host.docker.internal",
      port="6379"
      db=1,
  )

YOUR_REDIS_KEY_NAMEdata という文字列を保存する。

  conn.rpush("YOUR_REDIS_KEY_NAME", "data")

blpop は値を取得する。値がない場合はブロックする。

  conn.blpop("YOUR_REDIS_KEY_NAME")

PythonとaioredisでRedisを使う

aioredisをインストールする。

pip install aioredis

Redisに接続し YOUR_REDIS_KEY_NAME キーに入っている値を1つ取得する。 blpop は取得する値がない場合はブロックする。

  async def main():
    conn = await aioredis.create_redis_pool("redis://host.docker.internal:6379/1")
    return awati conn.blpop("YOUR_REDIS_KEY_NAME")

asyncio.run() で非同期処理として実行する。

  import asyncio

  asyncio.run(main())