coredis

coredis is an async redis client for python with support for redis cluster & sentinel.

MIT License

Downloads
92.2K
Stars
65
Committers
30

Bot releases are visible (Hide)

coredis - 4.5.4

Published by github-actions[bot] about 2 years ago

Bug Fix

  • Fix leftover default connection pool construction in
    blocking cluster connection pool

Chores

  • Reduce excessive matrix in default CI
  • Add scheduled compatibility CI run
  • Cleanup unnecessary asyncio markers in tests
  • Refactor readonly command detection to use
    command flags from redis documentation
  • Issue warning if Redis.select is
    called directly
coredis - 4.5.3

Published by github-actions[bot] about 2 years ago

Bug Fix

  • Ensure default cluster connection pools are not recreated upon access. #92
coredis - 4.5.2

Published by github-actions[bot] about 2 years ago

Bug Fix

  • Implicitly initialize cluster connection pool when pubsub subscribe is called (#88)
  • Fix handling of sharded pubsub unsubscribe message
  • Fix unsubscribe all for sharded pubsub

Compatibility

  • Improve surfacing underlying errors when initializing cluster (#89)
coredis - 4.5.1

Published by github-actions[bot] about 2 years ago

Bug Fix

  • Fix context leak when commands issued within ensure_replication and ignore_replies context managers fail

Recipes

  • Fix LUA lock recipe to work with clusters with no replicas.
  • Ensure LUA lock recipe waits on replication of lock to n/2 replicas if replicas exist in the cluster
coredis - 4.5.0

Published by github-actions[bot] about 2 years ago

Compatibility

  • Bring back python 3.7 support
coredis - 4.4.0

Published by github-actions[bot] over 2 years ago

Breaking changes

  • Default nodemanager_follow_cluster to True

Deprecations

  • Deprecate readonly constructor argument in
    cluster client in favor of read_from_replicas

  • Remove invalid property setter for noreply mode

Bug Fixes

  • Fix incorrect behavior of ignore_replies context manager
    as it was not actually setting CLIENT REPLY and simply
    discarding connections
  • Ensure fetching a random connection doesn't deplete the
    node list in the connection pool
  • Ensure connection pools are disconnected on finalization
    to avoid leaking connections
coredis - 4.3.1

Published by github-actions[bot] over 2 years ago

Bug Fix

  • Fix incorrect calculation of per node connection pool size in BlockingClusterConnectionPool when readonly=False
  • Ensure max_connection is at least equal to the number of nodes in the cluster and raise a warning when it is not
coredis - 4.3.0

Published by github-actions[bot] over 2 years ago

Features

  • Allow passing connection_pool_cls to Redis and RedisCluster constructors to pick
    the connection pool implementation during client construction

Breaking Changes

  • Raise coredis.exceptions.ConnectionError instead of coredis.exceptions.RedisClusterError
    when a connection can't be acquired due to max_connections being hit.
coredis - 4.2.1

Published by github-actions[bot] over 2 years ago

Compatibility

  • Add support and test coverage for PyPy 3.8.

Bug Fix

  • Ensure coredis.RedisCluster.ensure_replication can be used
    with ~coredis.RedisCluster.ensure_replication.replicas <
    total number of replicas
coredis - 4.2.0

Published by github-actions[bot] over 2 years ago

Bug Fix

  • Fix routing of coredis.Redis.script_kill and coredis.Redis.function_kill to only route to primaries
  • Ensure all arguments expecting collections consistently use coredis.typing.Parameters

Chores

  • Fix ordering of keyword arguments of coredis.Redis.set to be consistent with command documentation
  • Improve documentation regarding request routing and repsonse merging for cluster multi node and multi shard commands
  • Sort all literal annotations
coredis - 4.1.1

Published by github-actions[bot] over 2 years ago

Bug Fix

  • Ensure lua scripts for lock recipe are included in package
coredis - 4.1.0

Published by github-actions[bot] over 2 years ago

Features

  • Reintroduce distributed lock implementation under
    coredis.recipes.locks

Bug Fix

  • Allow initializing a LUA library without loading the code
    when it already exists if replace=False

Performance

  • Reduce unnecessary calls to parser by using an async Event
    to signal that data is available for parsing
coredis - 4.0.2

Published by github-actions[bot] over 2 years ago

Compatibility

  • Relax version checking to only warn if a server reports
    a non standard server version (for example with Redis-like
    databases)
  • Raise an exception when client tracking is not available
    and server assisted caching cannot be used (for example
    with upstash provisioned redis instances)

Documentation

  • Add more detail about Sharded Pub/Sub
coredis - 4.0.1

Published by github-actions[bot] over 2 years ago

Documentation

  • Added section about reliability in handbook
  • Improved cross referencing
coredis - 4.0.0

Published by github-actions[bot] over 2 years ago

Features

  • Added support for using noreply when sending commands
  • Added support for ensuring replication to n replicas
  • Moved KeyDB client out of experimental namespace

Backward incompatible changes

  • Use RESP3 as default protocol version
  • non_atomic_cross_slot is default behavior for cluster clients
  • Moved exceptions out of root namespace to coredis.exceptions
  • Removed Lock implementations
  • Dropped support for hiredis
  • Removed StrictRedis & StrictRedisCluster aliases
coredis - 3.11.5

Published by github-actions[bot] over 2 years ago

Chore

  • Remove python 3.11 binary wheel builds
coredis - 3.11.4

Published by github-actions[bot] over 2 years ago

Bug Fix

  • Fix issue with sharded pubsub not handling multiple channel
    subscriptions
coredis - 3.11.3

Published by github-actions[bot] over 2 years ago

Bug Fix

  • Correct implementation of restore command when
    absttl argument is True.
coredis - 3.11.2

Published by github-actions[bot] over 2 years ago

Bug Fix

  • Ignore case when comparing error strings to map exceptions. Addresses #70
coredis - 3.11.1

Published by github-actions[bot] over 2 years ago

Bug Fix

  • Fix incorrect handling of non_atomic_cross_slot commands
    when not all nodes are required for a command