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.1.tar.gz (186.3 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.1-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.1-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.1-cp311-cp311-macosx_10_9_x86_64.whl (310.1 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

coredis-3.10.1-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.1-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.1-cp310-cp310-macosx_10_9_x86_64.whl (312.2 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

coredis-3.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (396.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

coredis-3.10.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (398.8 kB view details)

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

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

Uploaded CPython 3.9macOS 10.9+ x86-64

coredis-3.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (392.4 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

coredis-3.10.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (393.9 kB view details)

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

coredis-3.10.1-cp38-cp38-macosx_10_9_x86_64.whl (309.8 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: coredis-3.10.1.tar.gz
  • Upload date:
  • Size: 186.3 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.1.tar.gz
Algorithm Hash digest
SHA256 021a423c1b33bcd693e11ba8df988db4a7b53f98551739585f29b12823279791
MD5 e9b939dbd1735fff3c8083105af83462
BLAKE2b-256 c4f1857584e0f6389da3e55dbb1c623a70bf84a694d49bc8b36319d0378b2a88

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4f618bac86dc8a4a4b322a29e6dec049d503c628dfd423c94656cd714c442045
MD5 20180a8f4921ea8a74d04afffaa76e19
BLAKE2b-256 83834e31cd3c612c85046b5d800321a159d27decef3830ca904e28538c5d5903

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.10.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3ae187c190a3df5e26155a7661b4317c1f7b65a1b3f07a75650a2296e15a1490
MD5 31f60f46d924a5e2ec7ef3e1ed6634b2
BLAKE2b-256 a87a97b32153ed4f124bbcdb515f262e25f9b49b0c6cb13d17643fff6e217cc9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.10.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 50fdaad24421e91218fb67fbfcd643d8bf5d60b4c2957b232722c0759289f624
MD5 784c699fbfd67423a003af84b6effdf6
BLAKE2b-256 6679bfe8787570e7e92b428f1328ce023a2b92b244f2ccf9fc6b285ca6cf6404

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 265fc49b195e4416d5c269b9dcf8dc9fc7ad2a47029154af9e16869d531899da
MD5 1e1df94574080c7d13f3d362351bf902
BLAKE2b-256 9bc88841d744d623111e69bbde8d2d21c7abce89e19aaaa1798106b714bc1326

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.10.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 507c1d370c316220521f9113057bf91de24e1096f5f71f6bb2ed766c2358f265
MD5 23629d0037dcf55631f12bc486daa3d4
BLAKE2b-256 1904e4225d519b7863399ae5b9de68cd86e4606cd05f55e4dd0d692b00ca5508

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.10.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 856cfb4f6df13f8115a291c1f2bc9d8e85805b02f965971aada3bc8450f05429
MD5 7d22d3745289223ca02b01d8d638068f
BLAKE2b-256 e8545cf81847ff00999cc57212127a68b6ca341e2f1b89a89e609123eab765c5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 04fde7fbb350e4da2ff093d362fcb88319cac96356b303a60a242420c7201c43
MD5 e1b44495a0a010b3c3ef663780556882
BLAKE2b-256 72af7d472a6dc0030683e372ef9530082fe411f1b0fe5532af3c2afac65770d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.10.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3914a8503964603d5205fa6453313bab7661e63b3106bf66312539aa625f69d4
MD5 96ce4c020fbd37c228bc7ad2487e5433
BLAKE2b-256 b5010d61a9a89064b98fb06b48874badd1ba9e9d6cfd18a078f9a95412894435

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.10.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c786c5381d42a79a8e353c51a6aaa9af8a504e354217cfd24ce427dc79e9c982
MD5 64b787a14c04ef75df41a62666508e91
BLAKE2b-256 40711d0a2f1ca26aa6788b8556a7e5f594e50e0704d55671177c3f044b85e242

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6ae9c0333d5ef0a44b25e12a505cec987e7ecc9b9bc762cd5ebc323684fe3aca
MD5 a12e13a759bfa9ab720bda627b2d9d01
BLAKE2b-256 f39fe87cc600e6236b9a2a7029e05e371a913a7002919f8eddf17d61e8118c20

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.10.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 44711d998893b945fa0f3be61c7e789b58fc6e7ed83329ac2ab29b98e2cedcac
MD5 4f288a2c0ee034720b207f034e9730e6
BLAKE2b-256 6d9b7883c14a3d8f6522a33e2e5723905235ea76d282af0f271d3b23da690bb1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.10.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fd736374ba480c990d5c1ec1ca8270b0e3a2f7acd58ff329b99664611a84cad8
MD5 0156fee0eddb8561c403a307a3a78e67
BLAKE2b-256 8b1c58b9d807f3862fc8df74493cc0d7550ff435f012a43ea78e0f33dc3ccad0

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