asyncio (PEP 3156) Redis support
Project description
asyncio (PEP 3156) Redis support
Documentation
Usage examples
Simple low-level interface:
import asyncio
import aioredis
loop = asyncio.get_event_loop()
@asyncio.coroutine
def go():
conn = yield from aioredis.create_connection(
('localhost', 6379), loop=loop)
yield from conn.execute('set', 'my-key', 'value')
val = yield from conn.execute('get', 'my-key')
print(val)
conn.close()
loop.run_until_complete(go())
# will print 'value'
Simple high-level interface:
import asyncio
import aioredis
loop = asyncio.get_event_loop()
@asyncio.coroutine
def go():
redis = yield from aioredis.create_redis(
('localhost', 6379), loop=loop)
yield from redis.set('my-key', 'value')
val = yield from redis.get('my-key')
print(val)
redis.close()
loop.run_until_complete(go())
# will print 'value'
Connections pool:
import asyncio
import aioredis
loop = asyncio.get_event_loop()
@asyncio.coroutine
def go():
pool = yield from aioredis.create_pool(
('localhost', 6379),
minsize=5, maxsize=10,
loop=loop)
with (yield from pool) as redis: # high-level redis API instance
yield from redis.set('my-key', 'value')
print((yield from redis.get('my-key')))
pool.clear() # closing all open connections
loop.run_until_complete(go())
Requirements
License
The aioredis is offered under MIT license.
Changes
0.2.0 (xxxx-xx-xx)
0.1.5 (2014-12-09)
AutoConnector added;
wait_closed method added for clean connections shutdown;
zscore command fixed;
Test fixes;
0.1.4 (2014-09-22)
Dropped following Redis methods – Redis.multi(), Redis.exec(), Redis.discard()
Redis.multi_exec hack’ish property removed
Redis.multi_exec() method added
High-level commands implemented:
generic commands (tests);
transactions commands (api stabilization).
Backward incompatibilities:
Following sorted set commands’ API changed:
zcount, zrangebyscore, zremrangebyscore, zrevrangebyscore;
set string command’ API changed;
0.1.3 (2014-08-08)
RedisConnection.execute refactored to support commands pipelining (see http://github.com/aio-libs/aioredis/issues/33);
Several fixes;
WIP on transactions and commands interface;
High-level commands implemented and tested:
hash commands;
hyperloglog commands;
set commands;
scripting commands;
string commands;
list commands;
0.1.2 (2014-07-31)
create_connection, create_pool, create_redis functions updated: db and password arguments made keyword-only (see http://github.com/aio-libs/aioredis/issues/26);
Fixed transaction handling (see http://github.com/aio-libs/aioredis/issues/32);
Response decoding (see http://github.com/aio-libs/aioredis/issues/16);
0.1.1 (2014-07-07)
Transactions support (in connection, high-level commands have some issues);
Docs & tests updated.
0.1.0 (2014-06-24)
Initial release;
RedisConnection implemented;
RedisPool implemented;
Docs for RedisConnection & RedisPool;
WIP on high-level API.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.