pip install aioredis
simple low-level interface:
import asyncio
import aioredis
loop = asyncio.get_event_loop()
async def go():
conn = await aioredis.create_connection(
('localhost', 6379), loop=loop)
await conn.execute('set', 'my-key', 'value')
val = await conn.execute('get', 'my-key')
print(val)
conn.close()
await conn.wait_closed()
loop.run_until_complete(go())
# will print 'value'
simple high-level interface:
import asyncio
import aioredis
loop = asyncio.get_event_loop()
async def go():
redis = await aioredis.create_redis(
('localhost', 6379), loop=loop)
await redis.set('my-key', 'value')
val = await redis.get('my-key')
print(val)
redis.close()
await redis.wait_closed()
loop.run_until_complete(go())
# will print 'value'
Connections pool:
import asyncio
import aioredis
loop = asyncio.get_event_loop()
async def go():
pool = await aioredis.create_pool(
('localhost', 6379),
minsize=5, maxsize=10,
loop=loop)
with await pool as redis: # high-level redis API instance
await redis.set('my-key', 'value')
print(await redis.get('my-key'))
# graceful shutdown
pool.close()
await pool.wait_closed()
loop.run_until_complete(go())