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.9.1.tar.gz (183.5 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.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (391.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

coredis-3.9.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (243.0 kB view details)

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

coredis-3.9.1-cp311-cp311-macosx_10_9_x86_64.whl (306.0 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

coredis-3.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (393.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

coredis-3.9.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (394.7 kB view details)

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

coredis-3.9.1-cp310-cp310-macosx_10_9_x86_64.whl (308.1 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

coredis-3.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (392.9 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

coredis-3.9.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (393.5 kB view details)

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

coredis-3.9.1-cp39-cp39-macosx_10_9_x86_64.whl (307.9 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

coredis-3.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (389.1 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

coredis-3.9.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (389.1 kB view details)

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

coredis-3.9.1-cp38-cp38-macosx_10_9_x86_64.whl (306.4 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

File details

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

File metadata

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

File hashes

Hashes for coredis-3.9.1.tar.gz
Algorithm Hash digest
SHA256 e3247eda006963e8cc10e148d2dbd2918e540cf5ac41d0cbbd516ee239e48832
MD5 a27393a4767f10990dd0897736fcc83e
BLAKE2b-256 2a71ff46cf8b9f3cced3a2dc4b4154fa09aa6734b62f55b112b88aada17970d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 859bbe4f11d3055f3f28405fda6463f439ed8b07ce9c2488c3f7b4338f615beb
MD5 7aeac98c15f232717f9f6e9da3a1f1d5
BLAKE2b-256 b3a965e98c11fca92c6a3cf4921c44b26462cb849e8cee0bd2b27c959731982e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.9.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 c9fa62a1ef9087aee96c16c40bfa454fca31a24379aeabc7e150aab6c2953c90
MD5 9aa0229eed3eae4e5637d6fb81fe01aa
BLAKE2b-256 718ec55a133d7d0860856b018aca34963eb3e8f7852c9f4e69c2e247e72ebef8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.9.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b6922c46ed6eaa13f262ae0320b419dd87a0673710f41beb34858ea57592605a
MD5 c69d1125c6c6c4cec9e502c06fcb6a5b
BLAKE2b-256 e2b0084cc624104d6a2b600478aa3a3378e484637c9698d53aa416708050b789

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 97ecdd2be100c5097bc11e5308935f1856932f1a531bd41567b15370b307122c
MD5 4b7c6199ff316aa3636fc1c959f15241
BLAKE2b-256 620150fc32674e2356db3badda150b77265fc95b85316ea9d18b4a8d8ddd849f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.9.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 95aaf6d39bbc7083d00a889a24d13fc693e040b53d140baa567255ef1abde37b
MD5 dbb319bd0c67d7438982a3695f2bee42
BLAKE2b-256 3166e32d609ef47986d88402e9622b1e0adb13aeec009517c3c098780d0afa1a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.9.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 afaf8a25a84ed59cebae2d805e9629a8d0bd877048df7a230ef9f50ff8a425a9
MD5 ab0ae74d171e1dd7da617a8c8a931d9f
BLAKE2b-256 315cbf5cfe3b50548568fc3224de00bd820b9dc410ed533d744391807429d3d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b3cfb5f2d838df15a2d385c71068cc07c9b483e8233e3747dcc18602b26a0efe
MD5 5292eabe978ad99cdd94d6fda56c8e5b
BLAKE2b-256 410ca580d2057e92b211cbb7096ee1d14687882a8da8f0d38f18ac4c0aed2b79

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.9.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e2a37524b29b94472d2139b7a54e8813efabedfb2922d716f4a42a1891078a6a
MD5 40cd62d3b8fba8860aab5280ecaba3ea
BLAKE2b-256 33a0057367a482920f1341875aef33f58b6d9477f44d8cb3d860f8e736914615

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.9.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ffc65e1c6f9e92e22194dc5b3d286099df0e2e8ed5db90f259fc06fc3ea40c6f
MD5 2d653074d9d66a468c2fd92965679f8c
BLAKE2b-256 42a9af252f6ce4e430a475fe358710998952465730695d0b1674eb141311c0db

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8822b060f40c1e3f6eca44911450481b9c7a142a080802709c4bc9363dbd54cb
MD5 1b1a085c5263e413575b76d4f0ba0687
BLAKE2b-256 8b2b8c20bcf373738f5bb33469151a4be42eec2e70ca3758ef222f4bd11c8753

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.9.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 02ea0a5cb3310259e57a8ce61cbf4229aff072af373daae3b7c756b805395c41
MD5 d10ee338bea23bf8111907bc9f662eb0
BLAKE2b-256 fa2c5d7c58476226a8599f1222293734b31dcbcc1b0c405376c03138af963530

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.9.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2a6a98cee2afb63078ea78ebc3ed8acab1ad7e39fcba1c0ab84238c120cea6c9
MD5 a74d40aa8804f88467dee8994a80140b
BLAKE2b-256 6a747da2e913b9d68d3099bca6a48612f7878b349d6069d88afb35fe23699589

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