asyncio (PEP 3156) Redis support
Project description
asyncio (PEP 3156) Redis client library.
Features
hiredis parser |
Yes |
Pure-python parser |
TBD |
Low-level & High-level APIs |
Yes |
Connections Pool |
Yes |
Pipelining support |
Yes |
Pub/Sub support |
Yes |
Redis Cluster support |
WIP |
Trollius (python 2.7) |
No |
Tested python versions |
|
Tested for Redis server |
|
Support for dev Redis server |
through low-level API |
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')))
yield from pool.clear() # closing all open connections
loop.run_until_complete(go())
Requirements
License
The aioredis is offered under MIT license.
Changes
0.2.4 (2015-10-13)
Python 3.5 async support:
New scan commands API (iscan, izscan, ihscan);
Pool made awaitable (allowing with await pool: ... constructs);
Fixed dropping closed connections from free pool (see #83);
Docs updated;
0.2.3 (2015-08-14)
0.2.2 (2015-07-07)
Decoding data with encoding paramter now takes into account list (array) replies (see #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 #66);
0.2.0 (2015-06-04)
Pub/Sub support added;
Fix in zrevrangebyscore command (see #62);
Fixes/tests/docs;
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.4.tar.gz
.
File metadata
- Download URL: aioredis-0.2.4.tar.gz
- Upload date:
- Size: 26.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6991d143c107a6851b8320c529c939b9004af81db03836cec19abc4e9bcdda0b |
|
MD5 | eb523606f6417f6cffeb1328ba7a8536 |
|
BLAKE2b-256 | 32703a7b627303bf729c8503980c7ec93ca417a00382817c19f80b2d2e896585 |
File details
Details for the file aioredis-0.2.4-py3-none-any.whl
.
File metadata
- Download URL: aioredis-0.2.4-py3-none-any.whl
- Upload date:
- Size: 34.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed5a27228c58e73d87668f8ecdd9e053ca684707884e06ca0ee8c4a3c13cedd4 |
|
MD5 | ca6b4dc38aec4098d1ba2e7403c0c1cb |
|
BLAKE2b-256 | 99d736a5dc0bec009332124b866c7158caab7367b739312ae7600c7def905e97 |