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

This version

3.8.9

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.9.tar.gz (177.7 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.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (384.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

coredis-3.8.9-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (236.0 kB view details)

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

coredis-3.8.9-cp311-cp311-macosx_10_9_x86_64.whl (299.0 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

coredis-3.8.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (386.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

coredis-3.8.9-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (387.7 kB view details)

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

coredis-3.8.9-cp310-cp310-macosx_10_9_x86_64.whl (301.1 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

coredis-3.8.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (385.9 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

coredis-3.8.9-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (386.5 kB view details)

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

coredis-3.8.9-cp39-cp39-macosx_10_9_x86_64.whl (300.9 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

coredis-3.8.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (382.1 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

coredis-3.8.9-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (382.1 kB view details)

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

coredis-3.8.9-cp38-cp38-macosx_10_9_x86_64.whl (299.4 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

File details

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

File metadata

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

File hashes

Hashes for coredis-3.8.9.tar.gz
Algorithm Hash digest
SHA256 fbcfe38ddeaa4d4164b3ef72efd12a4595b893f99feeef77e1734c34e334dd3e
MD5 c0b4249e0bd478566d750aa2f937bdaf
BLAKE2b-256 1e6ba807091b839e84d5a0d633b9c90639f9273e8ea58cf2ce622bf3a75fa4e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.8.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ff6495f0500e4ee54ed16e063a4685295e27e3f3df802d7890d5bfa3710aed46
MD5 803ad0b9800b4ac03877d3f2855e81fb
BLAKE2b-256 f2a22561a55555c74a9d88b4c12108349d092d590ab6cbbdd56e3458f733a3d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.8.9-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 cfe258c5e2ddc6aeaa58ffc68ae5a4393b93a972e9c28dc2d25e33571829b52e
MD5 8c960cd6d60fe441744a46b2c16e2f0d
BLAKE2b-256 ac15e17e3640bacb9b75f498589c5a9a010e511d579d8f41e37cd87e302cc79b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.8.9-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 baf6497bfef5e2fe06846f67c802776f3f1bd752e59b01324b0943e3630af62a
MD5 42fcba149cf9ccfe662e7c5223de2938
BLAKE2b-256 1920f7bac7089891302bf9f9c92b924e065e05c7bb05e2a7eee8e8f554f9b627

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.8.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d7fa94a1cdda1792af390e35166941292206a99af22b00d2ffa5e04fc44cacc6
MD5 3b1084e269e5637ba7bb5b6e8d54cf13
BLAKE2b-256 1b0fe36c620239803c1cd13d15b4aebfe0cdb654aa8e5b4e58f29546036c554d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.8.9-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 b0497f5cf44be34edb31c95833eb1c85d79b68bc24874926986e662a4ffbb8b1
MD5 0a39d18a5795becb5258a63ccd1b3499
BLAKE2b-256 9efef59544b29c9348e4b66dfdad14c0a84db48e00d43ea9357a644e66ece07e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.8.9-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a1bd37cd0db6a085a4283f6f9c540126e39b77fd0aa6d7bcbe75770eaca85b30
MD5 8f25a162dbcb6593d7ee032792863586
BLAKE2b-256 c9b294f163f62febc9a7b8cb80e9bcb45153bf998dba186400c1acc51d600130

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.8.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cf3414766b7e35a132f3386233a672df209616027def37b9f24c3c76ad71137b
MD5 e42a2254695126e05811e507495593c6
BLAKE2b-256 f66ce6e286b6a61b489f71998a6e1347326a5f472946a22e98ee98b92e1b78b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.8.9-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f2ee14b57697122f9b1272dcb06c51112d442a252d9d3a7c9f8ea55b0cb91d54
MD5 b5b9343c21e4740672e43aa393a3207b
BLAKE2b-256 60c1250758df19fa478876452bfb0d90da59ec1a5322788b32d6dd1d68dd1f11

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.8.9-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a9475df5f72a121dac849b532d9118b66d02377e832cbfdad9e7bdad2b5bbf43
MD5 be42f8a927c1b7fe850be957f6bf6371
BLAKE2b-256 d88e65a4c35114a8474966437e2fc8588fc3681a6a082c4663b16649432000d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.8.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 50bbdbe054b862a43ed5c14d65e87803ae813e166ffd4eaf7d2dbdc96455f9ed
MD5 bff220ac3299209c416a6d713c4feded
BLAKE2b-256 3866dfb9279a5383af687ef4c2fce3fab0fb79848218c97ff7f38396f1557aa6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.8.9-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 eed8440df135b6e2243c68d2848ad27d4e8cb30c9fcf1ed2b6d75a9ce134ef91
MD5 dd4af7f8799a0f9bce665bb80cd4939b
BLAKE2b-256 b987c24e0273a65f136bab7c636c762cfcf5291883a2ced1fa8856259ee66cd3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-3.8.9-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a6e6b83a3d207441b3fbd403ed3879f31521cfdadbcbb2b2bc3e4a16d6aa2b10
MD5 95c8ae46cf9620df3920744789422bde
BLAKE2b-256 a48e8cf722a6cc0d667c0c90ac48e2a0138d07f10413d2f50839136fe1ca70e5

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