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 https://coveralls.io/repos/aio-libs/aioredis/badge.png?branch=master

Documentation

http://aioredis.readthedocs.org/

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.1 (xxxx-xx-xx)

0.2.0 (2015-06-04)

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)

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.

Source Distribution

aioredis-0.2.0.tar.gz (24.1 kB view hashes)

Uploaded Source

Built Distribution

aioredis-0.2.0-py3-none-any.whl (30.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page