Skip to main content

Latest Version in PyPI CircleCI build status Supported Python versions

An efficient and user-friendly async redis client ported from redis-py (which is a Python interface to the Redis key-value)

To get more information please read full document

Installation

aredis requires a running Redis server.

To install aredis, simply:

$ sudo pip3 install aredis

or alternatively (you really should be using pip though):

$ sudo easy_install aredis

or from source:

$ sudo python setup.py install

Getting started

For more example

single node client

>>> import asyncio
>>> from aredis import StrictRedis
>>>
>>> async def example():
>>>      client = StrictRedis(host='127.0.0.1', port=6379, db=0)
>>>      await client.flushdb()
>>>      await client.set('foo', 1)
>>>      assert await client.exists('foo') is True
>>>      await client.incr('foo', 100)
>>>
>>>      assert int(await client.get('foo')) == 101
>>>      await client.expire('foo', 1)
>>>      await asyncio.sleep(0.1)
>>>      await client.ttl('foo')
>>>      await asyncio.sleep(1)
>>>      assert not await client.exists('foo')
>>>
>>> loop = asyncio.get_event_loop()
>>> loop.run_until_complete(example())

cluster client

>>> import asyncio
>>> from aredis import StrictRedisCluster
>>>
>>> async def example():
>>>      client = StrictRedisCluster(host='172.17.0.2', port=7001)
>>>      await client.flushdb()
>>>      await client.set('foo', 1)
>>>      await client.lpush('a', 1)
>>>      print(await client.cluster_slots())
>>>
>>>      await client.rpoplpush('a', 'b')
>>>      assert await client.rpop('b') == b'1'
>>>
>>> loop = asyncio.get_event_loop()
>>> loop.run_until_complete(example())
{(10923, 16383): [{'host': b'172.17.0.2', 'node_id': b'332f41962b33fa44bbc5e88f205e71276a9d64f4', 'server_type': 'master', 'port': 7002},
{'host': b'172.17.0.2', 'node_id': b'c02deb8726cdd412d956f0b9464a88812ef34f03', 'server_type': 'slave', 'port': 7005}],
(5461, 10922): [{'host': b'172.17.0.2', 'node_id': b'3d1b020fc46bf7cb2ffc36e10e7d7befca7c5533', 'server_type': 'master', 'port': 7001},
{'host': b'172.17.0.2', 'node_id': b'aac4799b65ff35d8dd2ad152a5515d15c0dc8ab7', 'server_type': 'slave', 'port': 7004}],
(0, 5460): [{'host': b'172.17.0.2', 'node_id': b'0932215036dc0d908cf662fdfca4d3614f221b01', 'server_type': 'master', 'port': 7000},
{'host': b'172.17.0.2', 'node_id': b'f6603ab4cb77e672de23a6361ec165f3a1a2bb42', 'server_type': 'slave', 'port': 7003}]}

Benchmark

Please run test script in benchmarks dir to confirm the benchmark.

For benchmark in my environment please see: benchmark

Contributing

Enhancement, bug reports and Pull requests are welcomed, please make an issue to let me know. Fork me please~

Release files for aredis 1.1.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aredis 1.1.8
File Size Uploaded
aredis-1.1.8.tar.gz 128.8 kB Details

Release files / aredis-1.1.8.tar.gz

Download URL aredis-1.1.8.tar.gz
Size 128.8 kB
Tags Source
SHA-256 checksum
How to use checksums
880bcf91c4f89b919311cc93626bbc70901c6e5c4fdb3dcba643411e3ee40bcf
BLAKE2b-256 checksum
How to use checksums
57be88a14ad051da02c261fedde9adbd73aeed172a8d484fd76be634168d2300
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Python-urllib/2.7

Release history Release notifications | RSS feed

This release

1.1.8 This release

1 release file

1.1.7

1 release file

1.1.6

1 release file

1.1.5

1 release file

1.1.4

1 release file

1.1.3

1 release file

1.1.2

1 release file

1.1.1

1 release file

1.1.0

1 release file

1.0.9

1 release file

1.0.8

1 release file

1.0.7

1 release file

1.0.6

1 release file

1.0.5

1 release file

1.0.4

1.0.3

1 release file

1.0.1

1 release file

1.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page