diff --git a/README.rst b/README.rst index 5e1e91f55..d8a21b89f 100644 --- a/README.rst +++ b/README.rst @@ -9,7 +9,7 @@ :Download: https://pypi.org/project/kombu/ :Source: https://github.com/celery/kombu/ :DeepWiki: |deepwiki| -:Keywords: messaging, amqp, rabbitmq, redis, mongodb, python, queue +:Keywords: messaging, amqp, rabbitmq, redis, valkey, mongodb, python, queue About ===== @@ -33,7 +33,7 @@ Features * AMQP transport using the `py-amqp`_, or `qpid-python`_ libraries. * Virtual transports makes it really easy to add support for non-AMQP - transports. There is already built-in support for `Redis`_, + transports. There is already built-in support for `Redis`_, `Valkey`_, `Amazon SQS`_, `ZooKeeper`_, `SoftLayer MQ`_, `MongoDB`_ and `Pyro`_. * In-memory transport for unit testing. @@ -60,6 +60,7 @@ and the `Wikipedia article about AMQP`_. .. _`py-amqp`: https://pypi.org/project/amqp/ .. _`qpid-python`: https://pypi.org/project/qpid-python/ .. _`Redis`: https://redis.io +.. _`Valkey`: https://valkey.io .. _`Amazon SQS`: https://aws.amazon.com/sqs/ .. _`Zookeeper`: https://zookeeper.apache.org/ .. _`Rabbits and warrens`: http://web.archive.org/web/20160323134044/http://blogs.digitar.com/jjww/2009/01/rabbits-and-warrens/ @@ -85,6 +86,8 @@ Transport Comparison +---------------+----------+------------+------------+---------------+--------------+-----------------------+ | *redis* | Virtual | Yes | Yes | Yes (PUB/SUB) | Yes | No | +---------------+----------+------------+------------+---------------+--------------+-----------------------+ +| *valkey* | Virtual | Yes | Yes | Yes (PUB/SUB) | Yes | No | ++---------------+----------+------------+------------+---------------+--------------+-----------------------+ | *mongodb* | Virtual | Yes | Yes | Yes | Yes | Yes | +---------------+----------+------------+------------+---------------+--------------+-----------------------+ | *SQS* | Virtual | Yes | Yes [#f1]_ | Yes [#f2]_ | No | No | diff --git a/docs/userguide/connections.rst b/docs/userguide/connections.rst index c7b3af9c5..309be3a6c 100644 --- a/docs/userguide/connections.rst +++ b/docs/userguide/connections.rst @@ -135,6 +135,9 @@ All of these are valid URLs: # Using Redis sentinel sentinel://sentinel1:26379;sentinel://sentinel2:26379 + # Using Valkey + valkey://localhost:6379/ + # Using Qpid qpid://localhost/ @@ -230,6 +233,8 @@ Transport Comparison +---------------+----------+------------+------------+---------------+--------------+ | *redis* | Virtual | Yes | Yes | Yes (PUB/SUB) | Yes | +---------------+----------+------------+------------+---------------+--------------+ +| *valkey* | Virtual | Yes | Yes | Yes (PUB/SUB) | Yes | ++---------------+----------+------------+------------+---------------+--------------+ | *SQS* | Virtual | Yes | Yes [#f1]_ | Yes [#f2]_ | No | +---------------+----------+------------+------------+---------------+--------------+ | *zookeeper* | Virtual | Yes | Yes [#f1]_ | No | Yes | diff --git a/kombu/transport/__init__.py b/kombu/transport/__init__.py index 180a27b4b..b238f2d60 100644 --- a/kombu/transport/__init__.py +++ b/kombu/transport/__init__.py @@ -28,6 +28,8 @@ def supports_librabbitmq() -> bool | None: 'memory': 'kombu.transport.memory:Transport', 'redis': 'kombu.transport.redis:Transport', 'rediss': 'kombu.transport.redis:Transport', + 'valkey': 'kombu.transport.redis:Transport', + 'valkeys': 'kombu.transport.redis:Transport', 'SQS': 'kombu.transport.SQS:Transport', 'sqs': 'kombu.transport.SQS:Transport', 'mongodb': 'kombu.transport.mongodb:Transport', diff --git a/kombu/transport/redis.py b/kombu/transport/redis.py index f40809e59..104887446 100644 --- a/kombu/transport/redis.py +++ b/kombu/transport/redis.py @@ -25,6 +25,16 @@ sentinel://[USER:PASSWORD@]SENTINEL_ADDRESS[:PORT] + +To use Valkey (which was originally a Redis fork), +the connection string has the following format: + +.. code-block:: + + valkey://[USER:PASSWORD@]VALKEY_ADDRESS[:PORT][/VIRTUALHOST] + valkeys://[USER:PASSWORD@]VALKEY_ADDRESS[:PORT][/VIRTUALHOST] + + Transport Options ================= * ``sep``