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 architecture

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

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.7.57.tar.gz (175.6 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.7.57-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (224.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

coredis-3.7.57-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (224.7 kB view details)

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

coredis-3.7.57-cp310-cp310-macosx_10_9_x86_64.whl (217.6 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

coredis-3.7.57-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (224.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

coredis-3.7.57-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (224.6 kB view details)

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

coredis-3.7.57-cp39-cp39-macosx_10_9_x86_64.whl (217.6 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

coredis-3.7.57-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (225.2 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

coredis-3.7.57-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (225.2 kB view details)

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

coredis-3.7.57-cp38-cp38-macosx_10_9_x86_64.whl (217.6 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

File details

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

File metadata

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

File hashes

Hashes for coredis-3.7.57.tar.gz
Algorithm Hash digest
SHA256 5de9fb7123cf278ef993cd71265eaf01fdbd08dd2503c35ebb149e474f01a4bf
MD5 162b3e3f1891abd81e7c9ad887ff7e07
BLAKE2b-256 b4f012300998c7cf564d7198355520301b9c9f90ef99e10b44ca561f80ca3919

See more details on using hashes here.

File details

Details for the file coredis-3.7.57-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for coredis-3.7.57-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f29b7af7a964d6e1a3a27632f83730126894b2c49bd7d733cc3cb58032b9f850
MD5 558f701844e58b5eb51a2e4be4620728
BLAKE2b-256 5212b95c606aa6272bb5b5847c9a200b7424a1907eb5c507cdaf1cbf840976f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.7.57-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 82a60f69e86be195f4dd41c839f9fe7a2cdc4f36febb621e062c6bfdd693f889
MD5 b23dc3c7db2f60b4b767ac17f7475161
BLAKE2b-256 52ecea2806264009aa6ecb94819a680a226f00491f3dc188be6c113e4fd52d45

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.7.57-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 06260f674276bf9647a8a750ba3f8ca5d42f3449c334d72421f196c5beb9713c
MD5 4992c3671f63c1c51e6e4b62b0604ed9
BLAKE2b-256 ef34cd4d44691c20654008a2be7bec1e2836a59805fb5c015c51d2e2353cea0d

See more details on using hashes here.

File details

Details for the file coredis-3.7.57-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for coredis-3.7.57-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 67806aa3ec9795b22bc4de35afd27579ef1c5719497df7304c5fa97cf3aa4f59
MD5 614f03e5dc53661511070d28e0428799
BLAKE2b-256 6d5e685d87335024d05df27a06416984ca6e6eb34324ec57517b732461835adf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.7.57-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6797ffaa120f1215f879d59f61ac3047928147c0d4881a433b7eab243a28968f
MD5 3f16d45bdbdf1fa78a874e7b94e2a7fb
BLAKE2b-256 c9f9995f355305351d18b921020e9ca8ac324b425006be7bdae454b563ada696

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.7.57-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d056e3b15862c5c8cb80d77cb314521f2b3f8dfe96a42fc18916c5717f46bae2
MD5 22b09fcc5f29399d9bcd343f576ab38a
BLAKE2b-256 81685c651939153b464fbee117db8fae8a84346d7c8e04d9d7124653a29356c9

See more details on using hashes here.

File details

Details for the file coredis-3.7.57-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for coredis-3.7.57-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9dcb983aace1db86a60a551ade51769eef10fefe6f375b5b642582d95e902573
MD5 24f84c4faf750330f86fba04eda17094
BLAKE2b-256 90f6f20bdd4cd0363753f2296d58218b1243d7d5d1453cef7c80558b74e69f72

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.7.57-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0434b09fb663286ff30fdf10ba75f2e3ede0439477a79d19cc6826d8e1ff4a72
MD5 7a2fea4e0e5dbd7a0db0a2e50ad0fe5e
BLAKE2b-256 4702be5808fd5c0b0514c3906f20eb21f5a9a5f0030cf4e16b98de6f5aeeab63

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.7.57-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 96b03c8b2ae5863177d3675118a686f311584ac71076921348502d6f9314e2ac
MD5 3f3aab73368b34e2b8aaffb55e139c1e
BLAKE2b-256 ed3e018c2d7079ede69dfcd8c607275c448dc3670474df91ae717edfe15a67f0

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