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.4 (xxxx-xx-xx)
0.2.3 (2015-08-14)
Redis cluster support work in progress;
Fixed pool issue causing pool growth over max size & acquire call hangs (see https://github.com/aio-libs/aioredis/issues/71);
info server command result parsing implemented;
Fixed behavior of util functions (see https://github.com/aio-libs/aioredis/issues/70);
hstrlen command added;
Few fixes in examples;
Few fixes in documentation;
0.2.2 (2015-07-07)
Decoding data with encoding paramter now takes into account list (array) replies (see https://github.com/aio-libs/aioredis/pull/68);
encoding parameter added to following commands: - generic commands: keys, randomkey; - hash commands: hgetall, hkeys, hmget, hvals; - list commands: blpop, brpop, brpoplpush, lindex, lpop, lrange, rpop, rpoplpush; - set commands: smembers, spop, srandmember; - string commands: getrange, getset, mget;
Backward incompatibility:
ltrim command now returns bool value instead of ‘OK’;
Tests updated;
0.2.1 (2015-07-06)
Logging added (aioredis.log module);
Fixed issue with wait_message in pub/sub (see https://github.com/aio-libs/aioredis/issues/66);
0.2.0 (2015-06-04)
Pub/Sub support added;
Fix in zrevrangebyscore command (see https://github.com/aio-libs/aioredis/pull/62);
Fixes/tests/docs;
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.
Source Distribution
Built Distribution
File details
Details for the file aioredis-0.2.3.tar.gz
.
File metadata
- Download URL: aioredis-0.2.3.tar.gz
- Upload date:
- Size: 25.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22b121cb830621fa3706e811d6d0ea32d7d29f7817f86fa591c6d3cab0d4ed7b |
|
MD5 | 075c97290a7ac0a1d9eb7a4f919911cc |
|
BLAKE2b-256 | 665aa35f0084730133c4eae3681293073c942e5b4d3ae377bdfbe2519e1b0919 |
File details
Details for the file aioredis-0.2.3-py3-none-any.whl
.
File metadata
- Download URL: aioredis-0.2.3-py3-none-any.whl
- Upload date:
- Size: 33.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e63363df647229b6de8dfb1d79e391980574ce29b34eab260d2979b1defe48af |
|
MD5 | 931abd35638dc0779997e0e913a8b38b |
|
BLAKE2b-256 | b126077948a26e819348786b909034cf86c2910de31b41fb060f8dec90ef7298 |