Skip to content

ramjet-labs/aioredis

 
 

Repository files navigation

aioredis

asyncio (PEP 3156) Redis client library.

image

image

image

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

Redis Cluster support

WIP

Trollius (python 2.7)

No

Tested CPython versions

3.5.3, 3.6, 3.71

Tested PyPy3 versions

pypy3.5-7.0 pypy3.6-7.1.1

Tested for Redis server

2.6, 2.8, 3.0, 3.2, 4.0 5.0

Support for dev Redis server

through low-level API

Documentation

http://aioredis.readthedocs.io/

Usage example

Simple high-level interface with connections pool:

import asyncio
import aioredis

async def go():
    redis = await aioredis.create_redis_pool(
        'redis://localhost')
    await redis.set('my-key', 'value')
    val = await redis.get('my-key', encoding='utf-8')
    print(val)
    redis.close()
    await redis.wait_closed()

asyncio.run(go())
# will print 'value'

Requirements

Note

hiredis is preferred requirement. Pure-python protocol parser is implemented as well and can be used through parser parameter.

Benchmarks

Benchmarks can be found here: https://github.com/popravich/python-redis-benchmark

Discussion list

aio-libs google group: https://groups.google.com/forum/#!forum/aio-libs

Or gitter room: https://gitter.im/aio-libs/Lobby

License

The aioredis is offered under MIT license.


  1. For Python 3.3, 3.4 support use aioredis v0.3.

About

asyncio (PEP 3156) Redis support

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.5%
  • Other 0.5%