Skip to main content

Redis High Availability Package for asyncio-redis

High Availability package and Sentinel client for the PEP 3156 Python event loop.

This package is a wrapper/plugin for asyncio-redis asynchronous, non-blocking client for a Redis server. It depends on asyncio (PEP 3156) and therefor it requires Python 3.3 or 3.4. If you’re new to asyncio, it can be helpful to check out the asyncio documentation first.

Features

  • Sentinel support ontop of asyncio-redis:

    • role

    • sentinels

    • slaves

    • get_master_addr_by_name

  • Extended Redis support (versions 3.x)

    • role

  • Mostly tested

    • all tests from asyncio-redis are green

    • new functionality covered and guaranteed to run in same conditions

    • failover scenarios tested manually

Dependencies

Redis cluster with Sentinel solution requires Redis 3.x

This package uses and heavily depends on asyncio-redis, because of the dependencies on package internals (due to required changes to support sentinel operations) currently requirement fixed at version 0.14.3

I will manually update this dependency after ensuring that internals are compatible.

Roadmap

  • implement pool reinitialization on master connection loss

  • add repeat/backoff wrapper as part of the package (coroutine or decorator)

  • provide automated testing for failover scenarios

  • implement preemptive connection reconfiguration (instant failover detection based on channel events from Sentinel daemon)

  • hiredis support

User Guide

Usage is the very same as for asyncio-redis package Pool object, except for initialization of an entry point

Initialize a ConnectionManager

c = yield from ConnectionManager.create(
        cluster_name='mymaster',
        sentinels=[
            ('172.17.0.4', 26379),
            ('172.17.0.6', 26379),
            ('172.17.0.7', 26379)
        ],
        poolsize=5
)
#  start using just like asyncio-redis
yield from c.set('key', 'value')

Metadata

Release files for asyncio-redis-ha 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for asyncio-redis-ha 0.1.1
File Size Uploaded Provenance
asyncio_redis_ha-0.1.1.tar.gz 8.7 kB Without provenance Details

Release files / asyncio_redis_ha-0.1.1.tar.gz

Download URL asyncio_redis_ha-0.1.1.tar.gz
Size 8.7 kB
Tags Source
SHA-256 checksum
How to use checksums
60a627b94269c65f7dcd0719da88e1fe9b1ace1b5ff45ef4e1327aab45853371
BLAKE2b-256 checksum
How to use checksums
84151d971d90384fe4d79362a9eaf6dda9552d3c6693f2864c22808eb336d311
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for asyncio-redis-ha 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page