Skip to main content

Python async client for Redis key-value store

Project description

coredis

docs codecov Latest Version in PyPI ci Supported Python versions

coredis is an async redis client with support for redis server, cluster & sentinel.

Installation

To install coredis:

$ pip install coredis

Feature Summary

Deployment topologies

Application patterns

Server side scripting

Miscellaneous

Quick start

Single Node client

import asyncio
from coredis import Redis

async def example():
    client = Redis(host='127.0.0.1', port=6379, db=0)
    await client.flushdb()
    await client.set('foo', 1)
    assert await client.exists(['foo']) == 1
    await client.incr('foo')
    await client.incrby('foo', increment=100)

    assert int(await client.get('foo')) == 102
    await client.expire('foo', 1)
    await asyncio.sleep(0.1)
    await client.ttl('foo')
    await asyncio.sleep(1)
    assert not await client.exists(['foo'])

asyncio.run(example())

Cluster client

import asyncio
from coredis import RedisCluster

async def example():
    client = RedisCluster(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'

asyncio.run(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}]}

To see a full list of supported redis commands refer to the Command compatibility documentation

Compatibility

coredis is tested against redis versions 6.0.x, 6.2.x & 7.0.x. The test matrix status can be reviewed here

coredis is additionally tested against:

  • hiredis >= 2.0.0
  • uvloop >= 0.15.0

hiredis if available will be used by default as the RESP (or RESP3) parser as it provides significant performance gains in response parsing. For more details refer to the the documentation section on Parsers

Supported python versions

  • 3.8
  • 3.9
  • 3.10

Experimental Backends

coredis has experimental support for the following redis compatible backends:

References

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

coredis-3.10.0.tar.gz (186.2 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

coredis-3.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (395.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

coredis-3.10.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (245.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

coredis-3.10.0-cp311-cp311-macosx_10_9_x86_64.whl (310.1 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

coredis-3.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (397.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

coredis-3.10.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (400.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

coredis-3.10.0-cp310-cp310-macosx_10_9_x86_64.whl (312.1 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

coredis-3.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (396.4 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

coredis-3.10.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (398.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

coredis-3.10.0-cp39-cp39-macosx_10_9_x86_64.whl (312.0 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

coredis-3.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (392.3 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

coredis-3.10.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (393.8 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

coredis-3.10.0-cp38-cp38-macosx_10_9_x86_64.whl (309.7 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

File details

Details for the file coredis-3.10.0.tar.gz.

File metadata

  • Download URL: coredis-3.10.0.tar.gz
  • Upload date:
  • Size: 186.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for coredis-3.10.0.tar.gz
Algorithm Hash digest
SHA256 4f38505f4a87415ccbae78050c675c2a38658c3413505aefb9816a5fe8e1f041
MD5 ff8944247b11eaf4c5e615880f423d7d
BLAKE2b-256 dbbba7e062f8156308a33707954438a14fbb8a6f01ff1e0361c497a8305fda84

See more details on using hashes here.

File details

Details for the file coredis-3.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for coredis-3.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c1fb4cc5f1b3631952816214d626a6fa1b61dad3f7d1432bcb94bcf8eaf45c58
MD5 d6643326a50d3bfac6e420d189a0a6dd
BLAKE2b-256 1815491b1bec33c9af86ddc4f585c1f43349cc23742ac8bd74cc7e54572f9a78

See more details on using hashes here.

File details

Details for the file coredis-3.10.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for coredis-3.10.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 2bb99f19d884d2e0744e2a37103cfae2b6d821843ee59b591d28f6dfd79e818c
MD5 5090049d2b72c470e5108691170135f0
BLAKE2b-256 e66c5546d78305b5cad296828903f32fdad06d41462d9ae816d762dab00ffc29

See more details on using hashes here.

File details

Details for the file coredis-3.10.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for coredis-3.10.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cb5a7496a82f94d0bf6bd9d15da4bb368bc4d8278ad7e86b06d7a4281d13d26e
MD5 bb1cbcf5491e3e7d22db8ca75083627f
BLAKE2b-256 a01fb04df1bd63bf706b79085ddfbe7feb7c58a76227c6e42ce991b47b4d6787

See more details on using hashes here.

File details

Details for the file coredis-3.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for coredis-3.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 73a1b9f9d9a71707d5dee7d9e1fb621f84ee1c11fb684b716e0cc7fa22735edf
MD5 bd820c32e3dd11c9994b204378d37547
BLAKE2b-256 9a7fff624bbc158456e5478efe29d173ff5f6b4e223f0a857468d60471e8f96d

See more details on using hashes here.

File details

Details for the file coredis-3.10.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for coredis-3.10.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 1efd7bdbc1a89a6d3587d04ef6fa0ba2da3c3a2730837f639e71d9b27d820a16
MD5 fcf7b4219f8e0c20fc25ef03f01c8e8b
BLAKE2b-256 cf0f35392b747f4ce89b63b4316cfb214796ad0008aa1de8278e39b51f1dfa6b

See more details on using hashes here.

File details

Details for the file coredis-3.10.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for coredis-3.10.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0443b7bd816b60be582a34bf0c300d44f04a72b5c8d26b805a70e31e2f516a19
MD5 5bc2dc56da93bd570945eda1261a1d2c
BLAKE2b-256 312d60f32c1112f315a459b4755e134a162adb95be81d7649be7adf111888688

See more details on using hashes here.

File details

Details for the file coredis-3.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for coredis-3.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e3ba02f8d2338967d883c42de0fd81f411e22c8daa0bd5984475a99018780804
MD5 803bc8107e6d31b0e3a12b0238f78e35
BLAKE2b-256 c0bacd7cd340578c5d10f4d5ff172b8b97a5fb10b5f4a6e2ee7b70d9c93a324e

See more details on using hashes here.

File details

Details for the file coredis-3.10.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for coredis-3.10.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 9787c920fba3972eaeb372db00d30a1179b24984719dd1dffa838e4ef6829c44
MD5 addbbcbf8daaab70847ca867e07b2525
BLAKE2b-256 fa03c23d96a20b1a6e5286b2783b8f1b62b0302dbe56adeb6304ab553ad7d8a9

See more details on using hashes here.

File details

Details for the file coredis-3.10.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for coredis-3.10.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 82491f373031ddf6efc37cf4da3a45aa1475b70825392f4714ecc752d3ea1202
MD5 5c2e49a2262cb09d48ec35c02789648a
BLAKE2b-256 abc745f0521450e26711f6c28d12d97b4bc9074fa8a4b1b24c2026809ca5a87f

See more details on using hashes here.

File details

Details for the file coredis-3.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for coredis-3.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b5e4d951b9131f171992fa8bde9314f8b7e1a56b7d7b8580505e2308c796ef6b
MD5 0bdbad15e12a7d31e992d8c2953db0a1
BLAKE2b-256 9faf52cb0ed9476e4090ba71dd11eb28275b045e13f827eaf24aef0861a9d84e

See more details on using hashes here.

File details

Details for the file coredis-3.10.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for coredis-3.10.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3179996e1ef8c2a95222258a6bce2e6aff484bd0d12049cde364719f74d7213a
MD5 6e3f8fe5a67894e0a2f51b86e8a2a62a
BLAKE2b-256 1b45704471278d466e3f3911c2c1a5f11c4a8b9218a3b7ff3b8b1119347e1d14

See more details on using hashes here.

File details

Details for the file coredis-3.10.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for coredis-3.10.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7e3a2cbfc1245a33ad3c9bd06a88b26f776733e6e5f5fd400d951341e294e963
MD5 e322f8d665a161e9bd0d9a9d755d9f27
BLAKE2b-256 e6376dfae160f278a026a2f5f94fae7a8f339d976819df361db0bfa2882e0a3a

See more details on using hashes here.

Supported by

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