今回は、自由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_NAME
に data
という文字列を保存する。
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())