python使用异步redis--aioredis

来源:互联网 发布:史丹利的寓言 mac下载 编辑:程序博客网 时间:2024/06/15 20:20

安装

最简单的安装方式:

pip install aioredis

需要先安装的依赖:

  1. Python 3.3 and asyncio 或 Python 3.4+
  2. hiredis

例子

simple low-level interface:

import asyncioimport aioredisloop = 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 asyncioimport aioredisloop = 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 asyncioimport aioredisloop = asyncio.get_event_loop()async def go():    pool = await aioredis.create_pool(        ('localhost', 6379),        minsize=5, maxsize=10,        loop=loop)    with await pool as redis:    # high-level redis API instance        await redis.set('my-key', 'value')        print(await redis.get('my-key'))    # graceful shutdown    pool.close()    await pool.wait_closed()loop.run_until_complete(go())