今回は、自由1かつオープンソース2なキーバリューストアであるRedisを使う3。
簡単な操作
docker pull redis:7.2.1-bookwormdocker run --rm --name redis \
--publish 6379:6379 \
redisdocker exec -it redis redis-cli127.0.0.1:6379>
SET aaa yayOK
GET aaa"yay"
Pythonとredis-pyでRedisを使う
redis-pyをインストールする。
pip install redisRedisに接続する。
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 aioredisRedisに接続し 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())