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

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.8.5.tar.gz (176.9 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.8.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (306.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

coredis-3.8.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (306.8 kB view details)

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

coredis-3.8.5-cp310-cp310-macosx_10_9_x86_64.whl (260.7 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

coredis-3.8.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (305.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

coredis-3.8.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (305.5 kB view details)

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

coredis-3.8.5-cp39-cp39-macosx_10_9_x86_64.whl (260.6 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

coredis-3.8.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (304.4 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

coredis-3.8.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (304.6 kB view details)

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

coredis-3.8.5-cp38-cp38-macosx_10_9_x86_64.whl (259.9 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

File details

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

File metadata

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

File hashes

Hashes for coredis-3.8.5.tar.gz
Algorithm Hash digest
SHA256 db0dc13766cf4b04a33a7fa3a981195b89dc8aa0393516612a3e970f12d77d0e
MD5 f852b7ac8106a5e182af3dd4c8b5f2f2
BLAKE2b-256 e86903040508cca21eff4cae8f1ed8a3de2e98876fb080061434de87f56ec65c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.8.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1f8c407b0ac9d541cd66599d20c560eec484daa19fc22a939fcb0f374db01e42
MD5 7332735293f9aa1082001e5f17ca9de1
BLAKE2b-256 058c73032bb029eaeb81ff85cae77af19ccdb8ecba983310ae6e635033553c5a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.8.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6c33364738f31c8d0714f0e5e547a9da9ed8f9d19d262b379474719c14e4a222
MD5 5f5973ba75b4ff913468a527d38f0d89
BLAKE2b-256 0c7e4266125a0a4149b5b07a7d14e25568176b2bb5c9b07d9553388a727319ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.8.5-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7f419b5eff40c551864a85a367a4d208def5770253f8e44a023f491bb85f98c9
MD5 2068337a3ffce68db4cf836190ef5f3a
BLAKE2b-256 c9896f62966472f0806aa33615368a5b41c9ad96661532f5d73f7dabadd23fb7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.8.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a88c90533ae39c0e21103ade460b883dd754aaee05bd57d8e55927be9e47dd74
MD5 c0ecdd00c91e7fe012a8f7b0a4a896ad
BLAKE2b-256 055153f48b606c2465e77ba93a5ee4fc94bbef03b4f83b1128d035546005226e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.8.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 a41dff880e84f4ec8c414e8ed2b5f09c8aa3ce68ba28b70f33ec9d5284789d6d
MD5 de230c25035691d6c9e92513e356da46
BLAKE2b-256 7628192b2de1dcea9f35144676df72329b20a356a03d88dc0eeef7b9a51be486

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.8.5-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 303839f2d8f997e0cb560b6101b2ac0c905dee768b1d90ec2f31d9f4622a6898
MD5 7c7212fcb9ef82a7b495135154d68445
BLAKE2b-256 5a6fcab0f3d004579d1d40e96d63b3e96867d7e530a374f94e29e713024923de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.8.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ea5dea325a5c68d902288df25a53044a19af46661b02d12ed2cda9818007b023
MD5 06cf813ea0bcb1c9a057cdf1665f6a90
BLAKE2b-256 6682521fb460150baf5a692ca36c000c36851e31026128c771843be907046573

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.8.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 2fc93396d59211f4f70d4caa0ebea4662ea317a55d3a6ab2c57a97b9a74a8f65
MD5 26cc99e1e2e0e03db9fc6527ccf12c06
BLAKE2b-256 a9920d4620c40a5bdf4f0d684a6f6d3d96a715584cf4637b4a64c76de72d108b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.8.5-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5db968aec18f5e6bccef0b3dba70980a193563c64287fb4e6de724f455c70398
MD5 15d88ba4adedbae3b1f6f168082c00aa
BLAKE2b-256 1c413b70293a44a9db5825561c7d6f76da11bc92f84e72f9cc52ecb853512611

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