Examples of aioredis usage¶
Below is a list of examples from aioredis/examples
Every example is a correct python program that can be executed.
Low-level connection usage example¶
import asyncio
import aioredis
def main():
loop = asyncio.get_event_loop()
@asyncio.coroutine
def go():
conn = yield from aioredis.create_connection(
('localhost', 6379), encoding='utf-8')
ok = yield from conn.execute('set', 'my-key', 'some value')
assert ok == 'OK', ok
str_value = yield from conn.execute('get', 'my-key')
raw_value = yield from conn.execute('get', 'my-key', encoding=None)
assert str_value == 'some value'
assert raw_value == b'some value'
print('str value:', str_value)
print('raw value:', raw_value)
# optionally close connection
conn.close()
loop.run_until_complete(go())
if __name__ == '__main__':
main()
Connections pool example¶
import asyncio
import aioredis
def main():
loop = asyncio.get_event_loop()
@asyncio.coroutine
def go():
pool = yield from aioredis.create_pool(
('localhost', 6379),
minsize=5, maxsize=10)
with (yield from pool) as redis: # high-level redis API instance
yield from redis.set('my-key', 'value')
val = yield from redis.get('my-key')
print('raw value:', val)
yield from pool.clear() # closing all open connections
loop.run_until_complete(go())
if __name__ == '__main__':
main()
Commands example¶
import asyncio
import aioredis
def main():
loop = asyncio.get_event_loop()
@asyncio.coroutine
def go():
redis = yield from aioredis.create_redis(
('localhost', 6379))
yield from redis.set('my-key', 'value')
val = yield from redis.get('my-key')
print(val)
# optinally closing underlying connection
redis.close()
loop.run_until_complete(go())
if __name__ == '__main__':
main()
Transaction example¶
import asyncio
import aioredis
def main():
loop = asyncio.get_event_loop()
@asyncio.coroutine
def go():
redis = yield from aioredis.create_redis(
('localhost', 6379))
yield from redis.delete('foo', 'bar')
tr = redis.multi_exec()
fut1 = tr.incr('foo')
fut2 = tr.incr('bar')
res = yield from tr.execute()
res2 = yield from asyncio.gather(fut1, fut2)
print(res)
assert res == res2
redis.close()
yield from redis.wait_closed()
loop.run_until_complete(go())
if __name__ == '__main__':
main()