From 0f4bc7653c2e046850a03c2aa11873c15a97e2a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=B3bert=20Kel=C4=8D=C3=A1k?= Date: Tue, 12 Aug 2025 12:33:48 +0200 Subject: [PATCH] Fix stream commands cluster support (#1587) * Fix stream commands cluster support * Update CHANGELOG.md --- CHANGELOG.md | 1 + src/Cluster/ClusterStrategy.php | 5 +++++ tests/Predis/Cluster/PredisStrategyTest.php | 5 +++++ tests/Predis/Cluster/RedisStrategyTest.php | 5 +++++ 4 files changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b488f480..4e3de911 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## Unreleased ### Added +- Added cluster support for `XADD`, `XDEL` and `XRANGE` (#1587) ### Changed ### Maintenance diff --git a/src/Cluster/ClusterStrategy.php b/src/Cluster/ClusterStrategy.php index bf84aac4..e52f2d0c 100644 --- a/src/Cluster/ClusterStrategy.php +++ b/src/Cluster/ClusterStrategy.php @@ -155,6 +155,11 @@ abstract class ClusterStrategy implements StrategyInterface 'HSCAN' => $getKeyFromFirstArgument, 'HSTRLEN' => $getKeyFromFirstArgument, + /* commands operating on streams */ + 'XADD' => $getKeyFromFirstArgument, + 'XDEL' => $getKeyFromFirstArgument, + 'XRANGE' => $getKeyFromFirstArgument, + /* commands operating on HyperLogLog */ 'PFADD' => $getKeyFromFirstArgument, 'PFCOUNT' => $getKeyFromAllArguments, diff --git a/tests/Predis/Cluster/PredisStrategyTest.php b/tests/Predis/Cluster/PredisStrategyTest.php index 0f612554..d1d60a2c 100644 --- a/tests/Predis/Cluster/PredisStrategyTest.php +++ b/tests/Predis/Cluster/PredisStrategyTest.php @@ -474,6 +474,11 @@ class PredisStrategyTest extends PredisTestCase 'HSCAN' => 'keys-first', 'HSTRLEN' => 'keys-first', + /* commands operating on streams */ + 'XADD' => 'keys-first', + 'XDEL' => 'keys-first', + 'XRANGE' => 'keys-first', + /* commands operating on HyperLogLog */ 'PFADD' => 'keys-first', 'PFCOUNT' => 'keys-all', diff --git a/tests/Predis/Cluster/RedisStrategyTest.php b/tests/Predis/Cluster/RedisStrategyTest.php index 236a3486..70035b95 100644 --- a/tests/Predis/Cluster/RedisStrategyTest.php +++ b/tests/Predis/Cluster/RedisStrategyTest.php @@ -497,6 +497,11 @@ class RedisStrategyTest extends PredisTestCase 'HSCAN' => 'keys-first', 'HSTRLEN' => 'keys-first', + /* commands operating on streams */ + 'XADD' => 'keys-first', + 'XDEL' => 'keys-first', + 'XRANGE' => 'keys-first', + /* commands operating on HyperLogLog */ 'PFADD' => 'keys-first', 'PFCOUNT' => 'keys-all',