Skip to main content

asyncio (PEP 3156) Redis support

Project description

asyncio (PEP 3156) Redis support

https://travis-ci.org/aio-libs/aioredis.svg?branch=master

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

Note

hiredis is preferred requirement. Pure-python fallback protocol parser is TBD.

License

The aioredis is offered under MIT license.

Changes

0.2.0 (xxxx-xx-xx)

  • High-level commands implemented:
    • generic commands;
    • hash commands;
    • set commands;
    • strings commands;
    • transactions commands.

0.1.2 (2014-07-31)

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for aioredis, version 0.1.2
Filename, size File type Python version Upload date Hashes
Filename, size aioredis-0.1.2-py3-none-any.whl (24.2 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size aioredis-0.1.2.tar.gz (17.8 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page