asyncio (PEP 3156) Redis support
Project description
asyncio (PEP 3156) Redis client library.
Features
hiredis parser |
Yes |
Pure-python parser |
Yes |
Low-level & High-level APIs |
Yes |
Connections Pool |
Yes |
Pipelining support |
Yes |
Pub/Sub support |
Yes |
SSL/TLS support |
Yes |
Sentinel support |
Yes [1] |
Redis Cluster support |
WIP |
Trollius (python 2.7) |
No |
Tested CPython versions |
|
Tested PyPy3 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()
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)
await pool.execute('set', 'my-key', 'value')
print(await pool.execute('get', 'my-key'))
# graceful shutdown
pool.close()
await pool.wait_closed()
loop.run_until_complete(go())
Requirements
Note
hiredis is preferred requirement. Pure-python protocol parser is implemented as well and can be used through parser parameter.
Discussion list
aio-libs google group: https://groups.google.com/forum/#!forum/aio-libs
License
The aioredis is offered under MIT license.
Changes
1.0.0 (2017-xx-xx)
NEW:
Connections pool has been refactored; now create_redis function will yield Redis instance instead of RedisPool (see #129);
Dropped create_reconnecting_redis, create_redis_pool should be used instead;
Implement Sentinel support (see #181);
Implement pure-python parser (see #212);
Add migrate_keys command (see #187);
Add zrevrangebylex command (see #201);
Add command, command_count, command_getkeys and command_info commands (see #229);
FIX:
Fix critical bug in patched asyncio.Lock (see #256);
Fix Multi/Exec transaction canceled error (see #225);
Add missing arguments to create_redis and create_redis_pool;
Fix deprecation warning (see #191);
Make correct __aiter__() (see #192);
Backward compatibility fix for with (yield from pool) as conn: (see #205);
Fixed pubsub receiver stop() (see #211);
MISC:
Multiple test fixes;
Add PyPy3 to build matrix;
Update dependencies versions;
0.3.2 (2017-06-21)
NEW:
Added zrevrangebylex command (see #201), cherry-picked from master;
Add connection timeout (see #221), cherry-picked from master;
FIX:
0.3.1 (2017-05-09)
FIX:
Fix pubsub Receiver missing iter() method (see #203);
0.3.0 (2017-01-11)
NEW:
Pub/Sub connection commands accept Channel instances (see #168);
Implement new Pub/Sub MPSC (multi-producers, single-consumer) Queue – aioredis.pubsub.Receiver (see #176);
Add aioredis.abc module providing abstract base classes defining interface for basic lib components; (see #176);
FIX:
Minor tests fixes;
MISC:
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-1.0.0b2.tar.gz
.
File metadata
- Download URL: aioredis-1.0.0b2.tar.gz
- Upload date:
- Size: 137.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb4626e78f2863fe03203f0e53e86935b998e75de1fca1bf32481f6a0b542d38 |
|
MD5 | 4613e390e330b1df22fdff57c73fb3d2 |
|
BLAKE2b-256 | 5e56d3eafccb7d72bfbea8017b7ada07b8a356822f7e490dcfc2a1320a1f7e79 |
File details
Details for the file aioredis-1.0.0b2-py3-none-any.whl
.
File metadata
- Download URL: aioredis-1.0.0b2-py3-none-any.whl
- Upload date:
- Size: 56.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0587c2128f202adfcffe931739b0ff381bfd023cfb266fd83c92aa30f6c9a53 |
|
MD5 | 454b629498a9ad9d723cc4dea88a0650 |
|
BLAKE2b-256 | ef3c8ff457ac0a5e0fdd34cad6ced270bcf8cb2d939131de8b7e93daa4a820cc |