diff --git a/lib/Predis/Cluster/PredisClusterHashStrategy.php b/lib/Predis/Cluster/PredisClusterHashStrategy.php index 04976f13..4f454641 100644 --- a/lib/Predis/Cluster/PredisClusterHashStrategy.php +++ b/lib/Predis/Cluster/PredisClusterHashStrategy.php @@ -42,126 +42,126 @@ class PredisClusterHashStrategy implements CommandHashStrategyInterface */ protected function getDefaultCommands() { - $keyIsFirstArgument = array($this, 'getKeyFromFirstArgument'); - $keysAreAllArguments = array($this, 'getKeyFromAllArguments'); + $getKeyFromFirstArgument = array($this, 'getKeyFromFirstArgument'); + $getKeyFromAllArguments = array($this, 'getKeyFromAllArguments'); return array( /* commands operating on the key space */ - 'EXISTS' => $keyIsFirstArgument, - 'DEL' => $keysAreAllArguments, - 'TYPE' => $keyIsFirstArgument, - 'EXPIRE' => $keyIsFirstArgument, - 'EXPIREAT' => $keyIsFirstArgument, - 'PERSIST' => $keyIsFirstArgument, - 'PEXPIRE' => $keyIsFirstArgument, - 'PEXPIREAT' => $keyIsFirstArgument, - 'TTL' => $keyIsFirstArgument, - 'PTTL' => $keyIsFirstArgument, - 'SORT' => $keyIsFirstArgument, // TODO - 'DUMP' => $keyIsFirstArgument, - 'RESTORE' => $keyIsFirstArgument, + 'EXISTS' => $getKeyFromFirstArgument, + 'DEL' => $getKeyFromAllArguments, + 'TYPE' => $getKeyFromFirstArgument, + 'EXPIRE' => $getKeyFromFirstArgument, + 'EXPIREAT' => $getKeyFromFirstArgument, + 'PERSIST' => $getKeyFromFirstArgument, + 'PEXPIRE' => $getKeyFromFirstArgument, + 'PEXPIREAT' => $getKeyFromFirstArgument, + 'TTL' => $getKeyFromFirstArgument, + 'PTTL' => $getKeyFromFirstArgument, + 'SORT' => $getKeyFromFirstArgument, // TODO + 'DUMP' => $getKeyFromFirstArgument, + 'RESTORE' => $getKeyFromFirstArgument, /* commands operating on string values */ - 'APPEND' => $keyIsFirstArgument, - 'DECR' => $keyIsFirstArgument, - 'DECRBY' => $keyIsFirstArgument, - 'GET' => $keyIsFirstArgument, - 'GETBIT' => $keyIsFirstArgument, - 'MGET' => $keysAreAllArguments, - 'SET' => $keyIsFirstArgument, - 'GETRANGE' => $keyIsFirstArgument, - 'GETSET' => $keyIsFirstArgument, - 'INCR' => $keyIsFirstArgument, - 'INCRBY' => $keyIsFirstArgument, - 'INCRBYFLOAT' => $keyIsFirstArgument, - 'SETBIT' => $keyIsFirstArgument, - 'SETEX' => $keyIsFirstArgument, + 'APPEND' => $getKeyFromFirstArgument, + 'DECR' => $getKeyFromFirstArgument, + 'DECRBY' => $getKeyFromFirstArgument, + 'GET' => $getKeyFromFirstArgument, + 'GETBIT' => $getKeyFromFirstArgument, + 'MGET' => $getKeyFromAllArguments, + 'SET' => $getKeyFromFirstArgument, + 'GETRANGE' => $getKeyFromFirstArgument, + 'GETSET' => $getKeyFromFirstArgument, + 'INCR' => $getKeyFromFirstArgument, + 'INCRBY' => $getKeyFromFirstArgument, + 'INCRBYFLOAT' => $getKeyFromFirstArgument, + 'SETBIT' => $getKeyFromFirstArgument, + 'SETEX' => $getKeyFromFirstArgument, 'MSET' => array($this, 'getKeyFromInterleavedArguments'), 'MSETNX' => array($this, 'getKeyFromInterleavedArguments'), - 'SETNX' => $keyIsFirstArgument, - 'SETRANGE' => $keyIsFirstArgument, - 'STRLEN' => $keyIsFirstArgument, - 'SUBSTR' => $keyIsFirstArgument, + 'SETNX' => $getKeyFromFirstArgument, + 'SETRANGE' => $getKeyFromFirstArgument, + 'STRLEN' => $getKeyFromFirstArgument, + 'SUBSTR' => $getKeyFromFirstArgument, 'BITOP' => array($this, 'getKeyFromBitOp'), - 'BITCOUNT' => $keyIsFirstArgument, + 'BITCOUNT' => $getKeyFromFirstArgument, /* commands operating on lists */ - 'LINSERT' => $keyIsFirstArgument, - 'LINDEX' => $keyIsFirstArgument, - 'LLEN' => $keyIsFirstArgument, - 'LPOP' => $keyIsFirstArgument, - 'RPOP' => $keyIsFirstArgument, - 'RPOPLPUSH' => $keysAreAllArguments, + 'LINSERT' => $getKeyFromFirstArgument, + 'LINDEX' => $getKeyFromFirstArgument, + 'LLEN' => $getKeyFromFirstArgument, + 'LPOP' => $getKeyFromFirstArgument, + 'RPOP' => $getKeyFromFirstArgument, + 'RPOPLPUSH' => $getKeyFromAllArguments, 'BLPOP' => array($this, 'getKeyFromBlockingListCommands'), 'BRPOP' => array($this, 'getKeyFromBlockingListCommands'), 'BRPOPLPUSH' => array($this, 'getKeyFromBlockingListCommands'), - 'LPUSH' => $keyIsFirstArgument, - 'LPUSHX' => $keyIsFirstArgument, - 'RPUSH' => $keyIsFirstArgument, - 'RPUSHX' => $keyIsFirstArgument, - 'LRANGE' => $keyIsFirstArgument, - 'LREM' => $keyIsFirstArgument, - 'LSET' => $keyIsFirstArgument, - 'LTRIM' => $keyIsFirstArgument, + 'LPUSH' => $getKeyFromFirstArgument, + 'LPUSHX' => $getKeyFromFirstArgument, + 'RPUSH' => $getKeyFromFirstArgument, + 'RPUSHX' => $getKeyFromFirstArgument, + 'LRANGE' => $getKeyFromFirstArgument, + 'LREM' => $getKeyFromFirstArgument, + 'LSET' => $getKeyFromFirstArgument, + 'LTRIM' => $getKeyFromFirstArgument, /* commands operating on sets */ - 'SADD' => $keyIsFirstArgument, - 'SCARD' => $keyIsFirstArgument, - 'SDIFF' => $keysAreAllArguments, - 'SDIFFSTORE' => $keysAreAllArguments, - 'SINTER' => $keysAreAllArguments, - 'SINTERSTORE' => $keysAreAllArguments, - 'SUNION' => $keysAreAllArguments, - 'SUNIONSTORE' => $keysAreAllArguments, - 'SISMEMBER' => $keyIsFirstArgument, - 'SMEMBERS' => $keyIsFirstArgument, - 'SSCAN' => $keyIsFirstArgument, - 'SPOP' => $keyIsFirstArgument, - 'SRANDMEMBER' => $keyIsFirstArgument, - 'SREM' => $keyIsFirstArgument, + 'SADD' => $getKeyFromFirstArgument, + 'SCARD' => $getKeyFromFirstArgument, + 'SDIFF' => $getKeyFromAllArguments, + 'SDIFFSTORE' => $getKeyFromAllArguments, + 'SINTER' => $getKeyFromAllArguments, + 'SINTERSTORE' => $getKeyFromAllArguments, + 'SUNION' => $getKeyFromAllArguments, + 'SUNIONSTORE' => $getKeyFromAllArguments, + 'SISMEMBER' => $getKeyFromFirstArgument, + 'SMEMBERS' => $getKeyFromFirstArgument, + 'SSCAN' => $getKeyFromFirstArgument, + 'SPOP' => $getKeyFromFirstArgument, + 'SRANDMEMBER' => $getKeyFromFirstArgument, + 'SREM' => $getKeyFromFirstArgument, /* commands operating on sorted sets */ - 'ZADD' => $keyIsFirstArgument, - 'ZCARD' => $keyIsFirstArgument, - 'ZCOUNT' => $keyIsFirstArgument, - 'ZINCRBY' => $keyIsFirstArgument, + 'ZADD' => $getKeyFromFirstArgument, + 'ZCARD' => $getKeyFromFirstArgument, + 'ZCOUNT' => $getKeyFromFirstArgument, + 'ZINCRBY' => $getKeyFromFirstArgument, 'ZINTERSTORE' => array($this, 'getKeyFromZsetAggregationCommands'), - 'ZRANGE' => $keyIsFirstArgument, - 'ZRANGEBYSCORE' => $keyIsFirstArgument, - 'ZRANK' => $keyIsFirstArgument, - 'ZREM' => $keyIsFirstArgument, - 'ZREMRANGEBYRANK' => $keyIsFirstArgument, - 'ZREMRANGEBYSCORE' => $keyIsFirstArgument, - 'ZREVRANGE' => $keyIsFirstArgument, - 'ZREVRANGEBYSCORE' => $keyIsFirstArgument, - 'ZREVRANK' => $keyIsFirstArgument, - 'ZSCORE' => $keyIsFirstArgument, + 'ZRANGE' => $getKeyFromFirstArgument, + 'ZRANGEBYSCORE' => $getKeyFromFirstArgument, + 'ZRANK' => $getKeyFromFirstArgument, + 'ZREM' => $getKeyFromFirstArgument, + 'ZREMRANGEBYRANK' => $getKeyFromFirstArgument, + 'ZREMRANGEBYSCORE' => $getKeyFromFirstArgument, + 'ZREVRANGE' => $getKeyFromFirstArgument, + 'ZREVRANGEBYSCORE' => $getKeyFromFirstArgument, + 'ZREVRANK' => $getKeyFromFirstArgument, + 'ZSCORE' => $getKeyFromFirstArgument, 'ZUNIONSTORE' => array($this, 'getKeyFromZsetAggregationCommands'), - 'ZSCAN' => $keyIsFirstArgument, - 'ZLEXCOUNT' => $keyIsFirstArgument, - 'ZRANGEBYLEX' => $keyIsFirstArgument, - 'ZREMRANGEBYLEX' => $keyIsFirstArgument, + 'ZSCAN' => $getKeyFromFirstArgument, + 'ZLEXCOUNT' => $getKeyFromFirstArgument, + 'ZRANGEBYLEX' => $getKeyFromFirstArgument, + 'ZREMRANGEBYLEX' => $getKeyFromFirstArgument, /* commands operating on hashes */ - 'HDEL' => $keyIsFirstArgument, - 'HEXISTS' => $keyIsFirstArgument, - 'HGET' => $keyIsFirstArgument, - 'HGETALL' => $keyIsFirstArgument, - 'HMGET' => $keyIsFirstArgument, - 'HMSET' => $keyIsFirstArgument, - 'HINCRBY' => $keyIsFirstArgument, - 'HINCRBYFLOAT' => $keyIsFirstArgument, - 'HKEYS' => $keyIsFirstArgument, - 'HLEN' => $keyIsFirstArgument, - 'HSET' => $keyIsFirstArgument, - 'HSETNX' => $keyIsFirstArgument, - 'HVALS' => $keyIsFirstArgument, - 'HSCAN' => $keyIsFirstArgument, + 'HDEL' => $getKeyFromFirstArgument, + 'HEXISTS' => $getKeyFromFirstArgument, + 'HGET' => $getKeyFromFirstArgument, + 'HGETALL' => $getKeyFromFirstArgument, + 'HMGET' => $getKeyFromFirstArgument, + 'HMSET' => $getKeyFromFirstArgument, + 'HINCRBY' => $getKeyFromFirstArgument, + 'HINCRBYFLOAT' => $getKeyFromFirstArgument, + 'HKEYS' => $getKeyFromFirstArgument, + 'HLEN' => $getKeyFromFirstArgument, + 'HSET' => $getKeyFromFirstArgument, + 'HSETNX' => $getKeyFromFirstArgument, + 'HVALS' => $getKeyFromFirstArgument, + 'HSCAN' => $getKeyFromFirstArgument, /* commands operating on HyperLogLog */ - 'PFADD' => $keyIsFirstArgument, - 'PFCOUNT' => $keysAreAllArguments, - 'PFMERGE' => $keysAreAllArguments, + 'PFADD' => $getKeyFromFirstArgument, + 'PFCOUNT' => $getKeyFromAllArguments, + 'PFMERGE' => $getKeyFromAllArguments, /* scripting */ 'EVAL' => array($this, 'getKeyFromScriptingCommands'), diff --git a/lib/Predis/Cluster/RedisClusterHashStrategy.php b/lib/Predis/Cluster/RedisClusterHashStrategy.php index bb7ae82d..98859bb9 100644 --- a/lib/Predis/Cluster/RedisClusterHashStrategy.php +++ b/lib/Predis/Cluster/RedisClusterHashStrategy.php @@ -42,112 +42,113 @@ class RedisClusterHashStrategy implements CommandHashStrategyInterface */ protected function getDefaultCommands() { - $keyIsFirstArgument = array($this, 'getKeyFromFirstArgument'); + $getKeyFromFirstArgument = array($this, 'getKeyFromFirstArgument'); + $getKeyFromAllArguments = array($this, 'getKeyFromAllArguments'); return array( /* commands operating on the key space */ - 'EXISTS' => $keyIsFirstArgument, - 'DEL' => array($this, 'getKeyFromAllArguments'), - 'TYPE' => $keyIsFirstArgument, - 'EXPIRE' => $keyIsFirstArgument, - 'EXPIREAT' => $keyIsFirstArgument, - 'PERSIST' => $keyIsFirstArgument, - 'PEXPIRE' => $keyIsFirstArgument, - 'PEXPIREAT' => $keyIsFirstArgument, - 'TTL' => $keyIsFirstArgument, - 'PTTL' => $keyIsFirstArgument, - 'SORT' => $keyIsFirstArgument, // TODO + 'EXISTS' => $getKeyFromFirstArgument, + 'DEL' => $getKeyFromAllArguments, + 'TYPE' => $getKeyFromFirstArgument, + 'EXPIRE' => $getKeyFromFirstArgument, + 'EXPIREAT' => $getKeyFromFirstArgument, + 'PERSIST' => $getKeyFromFirstArgument, + 'PEXPIRE' => $getKeyFromFirstArgument, + 'PEXPIREAT' => $getKeyFromFirstArgument, + 'TTL' => $getKeyFromFirstArgument, + 'PTTL' => $getKeyFromFirstArgument, + 'SORT' => $getKeyFromFirstArgument, // TODO /* commands operating on string values */ - 'APPEND' => $keyIsFirstArgument, - 'DECR' => $keyIsFirstArgument, - 'DECRBY' => $keyIsFirstArgument, - 'GET' => $keyIsFirstArgument, - 'GETBIT' => $keyIsFirstArgument, - 'MGET' => array($this, 'getKeyFromAllArguments'), - 'SET' => $keyIsFirstArgument, - 'GETRANGE' => $keyIsFirstArgument, - 'GETSET' => $keyIsFirstArgument, - 'INCR' => $keyIsFirstArgument, - 'INCRBY' => $keyIsFirstArgument, - 'INCRBYFLOAT' => $keyIsFirstArgument, - 'SETBIT' => $keyIsFirstArgument, - 'SETEX' => $keyIsFirstArgument, + 'APPEND' => $getKeyFromFirstArgument, + 'DECR' => $getKeyFromFirstArgument, + 'DECRBY' => $getKeyFromFirstArgument, + 'GET' => $getKeyFromFirstArgument, + 'GETBIT' => $getKeyFromFirstArgument, + 'MGET' => $getKeyFromAllArguments, + 'SET' => $getKeyFromFirstArgument, + 'GETRANGE' => $getKeyFromFirstArgument, + 'GETSET' => $getKeyFromFirstArgument, + 'INCR' => $getKeyFromFirstArgument, + 'INCRBY' => $getKeyFromFirstArgument, + 'INCRBYFLOAT' => $getKeyFromFirstArgument, + 'SETBIT' => $getKeyFromFirstArgument, + 'SETEX' => $getKeyFromFirstArgument, 'MSET' => array($this, 'getKeyFromInterleavedArguments'), 'MSETNX' => array($this, 'getKeyFromInterleavedArguments'), - 'SETNX' => $keyIsFirstArgument, - 'SETRANGE' => $keyIsFirstArgument, - 'STRLEN' => $keyIsFirstArgument, - 'SUBSTR' => $keyIsFirstArgument, - 'BITCOUNT' => $keyIsFirstArgument, + 'SETNX' => $getKeyFromFirstArgument, + 'SETRANGE' => $getKeyFromFirstArgument, + 'STRLEN' => $getKeyFromFirstArgument, + 'SUBSTR' => $getKeyFromFirstArgument, + 'BITCOUNT' => $getKeyFromFirstArgument, /* commands operating on lists */ - 'LINSERT' => $keyIsFirstArgument, - 'LINDEX' => $keyIsFirstArgument, - 'LLEN' => $keyIsFirstArgument, - 'LPOP' => $keyIsFirstArgument, - 'RPOP' => $keyIsFirstArgument, + 'LINSERT' => $getKeyFromFirstArgument, + 'LINDEX' => $getKeyFromFirstArgument, + 'LLEN' => $getKeyFromFirstArgument, + 'LPOP' => $getKeyFromFirstArgument, + 'RPOP' => $getKeyFromFirstArgument, 'BLPOP' => array($this, 'getKeyFromBlockingListCommands'), 'BRPOP' => array($this, 'getKeyFromBlockingListCommands'), - 'LPUSH' => $keyIsFirstArgument, - 'LPUSHX' => $keyIsFirstArgument, - 'RPUSH' => $keyIsFirstArgument, - 'RPUSHX' => $keyIsFirstArgument, - 'LRANGE' => $keyIsFirstArgument, - 'LREM' => $keyIsFirstArgument, - 'LSET' => $keyIsFirstArgument, - 'LTRIM' => $keyIsFirstArgument, + 'LPUSH' => $getKeyFromFirstArgument, + 'LPUSHX' => $getKeyFromFirstArgument, + 'RPUSH' => $getKeyFromFirstArgument, + 'RPUSHX' => $getKeyFromFirstArgument, + 'LRANGE' => $getKeyFromFirstArgument, + 'LREM' => $getKeyFromFirstArgument, + 'LSET' => $getKeyFromFirstArgument, + 'LTRIM' => $getKeyFromFirstArgument, /* commands operating on sets */ - 'SADD' => $keyIsFirstArgument, - 'SCARD' => $keyIsFirstArgument, - 'SISMEMBER' => $keyIsFirstArgument, - 'SMEMBERS' => $keyIsFirstArgument, - 'SSCAN' => $keyIsFirstArgument, - 'SPOP' => $keyIsFirstArgument, - 'SRANDMEMBER' => $keyIsFirstArgument, - 'SREM' => $keyIsFirstArgument, + 'SADD' => $getKeyFromFirstArgument, + 'SCARD' => $getKeyFromFirstArgument, + 'SISMEMBER' => $getKeyFromFirstArgument, + 'SMEMBERS' => $getKeyFromFirstArgument, + 'SSCAN' => $getKeyFromFirstArgument, + 'SPOP' => $getKeyFromFirstArgument, + 'SRANDMEMBER' => $getKeyFromFirstArgument, + 'SREM' => $getKeyFromFirstArgument, /* commands operating on sorted sets */ - 'ZADD' => $keyIsFirstArgument, - 'ZCARD' => $keyIsFirstArgument, - 'ZCOUNT' => $keyIsFirstArgument, - 'ZINCRBY' => $keyIsFirstArgument, - 'ZRANGE' => $keyIsFirstArgument, - 'ZRANGEBYSCORE' => $keyIsFirstArgument, - 'ZRANK' => $keyIsFirstArgument, - 'ZREM' => $keyIsFirstArgument, - 'ZREMRANGEBYRANK' => $keyIsFirstArgument, - 'ZREMRANGEBYSCORE' => $keyIsFirstArgument, - 'ZREVRANGE' => $keyIsFirstArgument, - 'ZREVRANGEBYSCORE' => $keyIsFirstArgument, - 'ZREVRANK' => $keyIsFirstArgument, - 'ZSCORE' => $keyIsFirstArgument, - 'ZSCAN' => $keyIsFirstArgument, - 'ZLEXCOUNT' => $keyIsFirstArgument, - 'ZRANGEBYLEX' => $keyIsFirstArgument, - 'ZREMRANGEBYLEX' => $keyIsFirstArgument, + 'ZADD' => $getKeyFromFirstArgument, + 'ZCARD' => $getKeyFromFirstArgument, + 'ZCOUNT' => $getKeyFromFirstArgument, + 'ZINCRBY' => $getKeyFromFirstArgument, + 'ZRANGE' => $getKeyFromFirstArgument, + 'ZRANGEBYSCORE' => $getKeyFromFirstArgument, + 'ZRANK' => $getKeyFromFirstArgument, + 'ZREM' => $getKeyFromFirstArgument, + 'ZREMRANGEBYRANK' => $getKeyFromFirstArgument, + 'ZREMRANGEBYSCORE' => $getKeyFromFirstArgument, + 'ZREVRANGE' => $getKeyFromFirstArgument, + 'ZREVRANGEBYSCORE' => $getKeyFromFirstArgument, + 'ZREVRANK' => $getKeyFromFirstArgument, + 'ZSCORE' => $getKeyFromFirstArgument, + 'ZSCAN' => $getKeyFromFirstArgument, + 'ZLEXCOUNT' => $getKeyFromFirstArgument, + 'ZRANGEBYLEX' => $getKeyFromFirstArgument, + 'ZREMRANGEBYLEX' => $getKeyFromFirstArgument, /* commands operating on hashes */ - 'HDEL' => $keyIsFirstArgument, - 'HEXISTS' => $keyIsFirstArgument, - 'HGET' => $keyIsFirstArgument, - 'HGETALL' => $keyIsFirstArgument, - 'HMGET' => $keyIsFirstArgument, - 'HMSET' => $keyIsFirstArgument, - 'HINCRBY' => $keyIsFirstArgument, - 'HINCRBYFLOAT' => $keyIsFirstArgument, - 'HKEYS' => $keyIsFirstArgument, - 'HLEN' => $keyIsFirstArgument, - 'HSET' => $keyIsFirstArgument, - 'HSETNX' => $keyIsFirstArgument, - 'HVALS' => $keyIsFirstArgument, - 'HSCAN' => $keyIsFirstArgument, + 'HDEL' => $getKeyFromFirstArgument, + 'HEXISTS' => $getKeyFromFirstArgument, + 'HGET' => $getKeyFromFirstArgument, + 'HGETALL' => $getKeyFromFirstArgument, + 'HMGET' => $getKeyFromFirstArgument, + 'HMSET' => $getKeyFromFirstArgument, + 'HINCRBY' => $getKeyFromFirstArgument, + 'HINCRBYFLOAT' => $getKeyFromFirstArgument, + 'HKEYS' => $getKeyFromFirstArgument, + 'HLEN' => $getKeyFromFirstArgument, + 'HSET' => $getKeyFromFirstArgument, + 'HSETNX' => $getKeyFromFirstArgument, + 'HVALS' => $getKeyFromFirstArgument, + 'HSCAN' => $getKeyFromFirstArgument, /* commands operating on HyperLogLog */ - 'PFADD' => $keyIsFirstArgument, - 'PFCOUNT' => array($this, 'getKeyFromAllArguments'), - 'PFMERGE' => array($this, 'getKeyFromAllArguments'), + 'PFADD' => $getKeyFromFirstArgument, + 'PFCOUNT' => $getKeyFromAllArguments, + 'PFMERGE' => $getKeyFromAllArguments, /* scripting */ 'EVAL' => array($this, 'getKeyFromScriptingCommands'),