|
@@ -34,130 +34,130 @@ class KeyPrefixProcessor implements ProcessorInterface
|
|
|
$this->prefix = $prefix;
|
|
|
$this->commands = array(
|
|
|
/* ---------------- Redis 1.2 ---------------- */
|
|
|
- 'EXISTS' => 'self::first',
|
|
|
- 'DEL' => 'self::all',
|
|
|
- 'TYPE' => 'self::first',
|
|
|
- 'KEYS' => 'self::first',
|
|
|
- 'RENAME' => 'self::all',
|
|
|
- 'RENAMENX' => 'self::all',
|
|
|
- 'EXPIRE' => 'self::first',
|
|
|
- 'EXPIREAT' => 'self::first',
|
|
|
- 'TTL' => 'self::first',
|
|
|
- 'MOVE' => 'self::first',
|
|
|
- 'SORT' => 'self::sort',
|
|
|
- 'DUMP' => 'self::first',
|
|
|
- 'RESTORE' => 'self::first',
|
|
|
- 'SET' => 'self::first',
|
|
|
- 'SETNX' => 'self::first',
|
|
|
- 'MSET' => 'self::interleaved',
|
|
|
- 'MSETNX' => 'self::interleaved',
|
|
|
- 'GET' => 'self::first',
|
|
|
- 'MGET' => 'self::all',
|
|
|
- 'GETSET' => 'self::first',
|
|
|
- 'INCR' => 'self::first',
|
|
|
- 'INCRBY' => 'self::first',
|
|
|
- 'DECR' => 'self::first',
|
|
|
- 'DECRBY' => 'self::first',
|
|
|
- 'RPUSH' => 'self::first',
|
|
|
- 'LPUSH' => 'self::first',
|
|
|
- 'LLEN' => 'self::first',
|
|
|
- 'LRANGE' => 'self::first',
|
|
|
- 'LTRIM' => 'self::first',
|
|
|
- 'LINDEX' => 'self::first',
|
|
|
- 'LSET' => 'self::first',
|
|
|
- 'LREM' => 'self::first',
|
|
|
- 'LPOP' => 'self::first',
|
|
|
- 'RPOP' => 'self::first',
|
|
|
- 'RPOPLPUSH' => 'self::all',
|
|
|
- 'SADD' => 'self::first',
|
|
|
- 'SREM' => 'self::first',
|
|
|
- 'SPOP' => 'self::first',
|
|
|
- 'SMOVE' => 'self::skipLast',
|
|
|
- 'SCARD' => 'self::first',
|
|
|
- 'SISMEMBER' => 'self::first',
|
|
|
- 'SINTER' => 'self::all',
|
|
|
- 'SINTERSTORE' => 'self::all',
|
|
|
- 'SUNION' => 'self::all',
|
|
|
- 'SUNIONSTORE' => 'self::all',
|
|
|
- 'SDIFF' => 'self::all',
|
|
|
- 'SDIFFSTORE' => 'self::all',
|
|
|
- 'SMEMBERS' => 'self::first',
|
|
|
- 'SRANDMEMBER' => 'self::first',
|
|
|
- 'ZADD' => 'self::first',
|
|
|
- 'ZINCRBY' => 'self::first',
|
|
|
- 'ZREM' => 'self::first',
|
|
|
- 'ZRANGE' => 'self::first',
|
|
|
- 'ZREVRANGE' => 'self::first',
|
|
|
- 'ZRANGEBYSCORE' => 'self::first',
|
|
|
- 'ZCARD' => 'self::first',
|
|
|
- 'ZSCORE' => 'self::first',
|
|
|
- 'ZREMRANGEBYSCORE' => 'self::first',
|
|
|
+ 'EXISTS' => 'self::first',
|
|
|
+ 'DEL' => 'self::all',
|
|
|
+ 'TYPE' => 'self::first',
|
|
|
+ 'KEYS' => 'self::first',
|
|
|
+ 'RENAME' => 'self::all',
|
|
|
+ 'RENAMENX' => 'self::all',
|
|
|
+ 'EXPIRE' => 'self::first',
|
|
|
+ 'EXPIREAT' => 'self::first',
|
|
|
+ 'TTL' => 'self::first',
|
|
|
+ 'MOVE' => 'self::first',
|
|
|
+ 'SORT' => 'self::sort',
|
|
|
+ 'DUMP' => 'self::first',
|
|
|
+ 'RESTORE' => 'self::first',
|
|
|
+ 'SET' => 'self::first',
|
|
|
+ 'SETNX' => 'self::first',
|
|
|
+ 'MSET' => 'self::interleaved',
|
|
|
+ 'MSETNX' => 'self::interleaved',
|
|
|
+ 'GET' => 'self::first',
|
|
|
+ 'MGET' => 'self::all',
|
|
|
+ 'GETSET' => 'self::first',
|
|
|
+ 'INCR' => 'self::first',
|
|
|
+ 'INCRBY' => 'self::first',
|
|
|
+ 'DECR' => 'self::first',
|
|
|
+ 'DECRBY' => 'self::first',
|
|
|
+ 'RPUSH' => 'self::first',
|
|
|
+ 'LPUSH' => 'self::first',
|
|
|
+ 'LLEN' => 'self::first',
|
|
|
+ 'LRANGE' => 'self::first',
|
|
|
+ 'LTRIM' => 'self::first',
|
|
|
+ 'LINDEX' => 'self::first',
|
|
|
+ 'LSET' => 'self::first',
|
|
|
+ 'LREM' => 'self::first',
|
|
|
+ 'LPOP' => 'self::first',
|
|
|
+ 'RPOP' => 'self::first',
|
|
|
+ 'RPOPLPUSH' => 'self::all',
|
|
|
+ 'SADD' => 'self::first',
|
|
|
+ 'SREM' => 'self::first',
|
|
|
+ 'SPOP' => 'self::first',
|
|
|
+ 'SMOVE' => 'self::skipLast',
|
|
|
+ 'SCARD' => 'self::first',
|
|
|
+ 'SISMEMBER' => 'self::first',
|
|
|
+ 'SINTER' => 'self::all',
|
|
|
+ 'SINTERSTORE' => 'self::all',
|
|
|
+ 'SUNION' => 'self::all',
|
|
|
+ 'SUNIONSTORE' => 'self::all',
|
|
|
+ 'SDIFF' => 'self::all',
|
|
|
+ 'SDIFFSTORE' => 'self::all',
|
|
|
+ 'SMEMBERS' => 'self::first',
|
|
|
+ 'SRANDMEMBER' => 'self::first',
|
|
|
+ 'ZADD' => 'self::first',
|
|
|
+ 'ZINCRBY' => 'self::first',
|
|
|
+ 'ZREM' => 'self::first',
|
|
|
+ 'ZRANGE' => 'self::first',
|
|
|
+ 'ZREVRANGE' => 'self::first',
|
|
|
+ 'ZRANGEBYSCORE' => 'self::first',
|
|
|
+ 'ZCARD' => 'self::first',
|
|
|
+ 'ZSCORE' => 'self::first',
|
|
|
+ 'ZREMRANGEBYSCORE' => 'self::first',
|
|
|
/* ---------------- Redis 2.0 ---------------- */
|
|
|
- 'SETEX' => 'self::first',
|
|
|
- 'APPEND' => 'self::first',
|
|
|
- 'SUBSTR' => 'self::first',
|
|
|
- 'BLPOP' => 'self::skipLast',
|
|
|
- 'BRPOP' => 'self::skipLast',
|
|
|
- 'ZUNIONSTORE' => 'self::zsetStore',
|
|
|
- 'ZINTERSTORE' => 'self::zsetStore',
|
|
|
- 'ZCOUNT' => 'self::first',
|
|
|
- 'ZRANK' => 'self::first',
|
|
|
- 'ZREVRANK' => 'self::first',
|
|
|
- 'ZREMRANGEBYRANK' => 'self::first',
|
|
|
- 'HSET' => 'self::first',
|
|
|
- 'HSETNX' => 'self::first',
|
|
|
- 'HMSET' => 'self::first',
|
|
|
- 'HINCRBY' => 'self::first',
|
|
|
- 'HGET' => 'self::first',
|
|
|
- 'HMGET' => 'self::first',
|
|
|
- 'HDEL' => 'self::first',
|
|
|
- 'HEXISTS' => 'self::first',
|
|
|
- 'HLEN' => 'self::first',
|
|
|
- 'HKEYS' => 'self::first',
|
|
|
- 'HVALS' => 'self::first',
|
|
|
- 'HGETALL' => 'self::first',
|
|
|
- 'SUBSCRIBE' => 'self::all',
|
|
|
- 'UNSUBSCRIBE' => 'self::all',
|
|
|
- 'PSUBSCRIBE' => 'self::all',
|
|
|
- 'PUNSUBSCRIBE' => 'self::all',
|
|
|
- 'PUBLISH' => 'self::first',
|
|
|
+ 'SETEX' => 'self::first',
|
|
|
+ 'APPEND' => 'self::first',
|
|
|
+ 'SUBSTR' => 'self::first',
|
|
|
+ 'BLPOP' => 'self::skipLast',
|
|
|
+ 'BRPOP' => 'self::skipLast',
|
|
|
+ 'ZUNIONSTORE' => 'self::zsetStore',
|
|
|
+ 'ZINTERSTORE' => 'self::zsetStore',
|
|
|
+ 'ZCOUNT' => 'self::first',
|
|
|
+ 'ZRANK' => 'self::first',
|
|
|
+ 'ZREVRANK' => 'self::first',
|
|
|
+ 'ZREMRANGEBYRANK' => 'self::first',
|
|
|
+ 'HSET' => 'self::first',
|
|
|
+ 'HSETNX' => 'self::first',
|
|
|
+ 'HMSET' => 'self::first',
|
|
|
+ 'HINCRBY' => 'self::first',
|
|
|
+ 'HGET' => 'self::first',
|
|
|
+ 'HMGET' => 'self::first',
|
|
|
+ 'HDEL' => 'self::first',
|
|
|
+ 'HEXISTS' => 'self::first',
|
|
|
+ 'HLEN' => 'self::first',
|
|
|
+ 'HKEYS' => 'self::first',
|
|
|
+ 'HVALS' => 'self::first',
|
|
|
+ 'HGETALL' => 'self::first',
|
|
|
+ 'SUBSCRIBE' => 'self::all',
|
|
|
+ 'UNSUBSCRIBE' => 'self::all',
|
|
|
+ 'PSUBSCRIBE' => 'self::all',
|
|
|
+ 'PUNSUBSCRIBE' => 'self::all',
|
|
|
+ 'PUBLISH' => 'self::first',
|
|
|
/* ---------------- Redis 2.2 ---------------- */
|
|
|
- 'PERSIST' => 'self::first',
|
|
|
- 'STRLEN' => 'self::first',
|
|
|
- 'SETRANGE' => 'self::first',
|
|
|
- 'GETRANGE' => 'self::first',
|
|
|
- 'SETBIT' => 'self::first',
|
|
|
- 'GETBIT' => 'self::first',
|
|
|
- 'RPUSHX' => 'self::first',
|
|
|
- 'LPUSHX' => 'self::first',
|
|
|
- 'LINSERT' => 'self::first',
|
|
|
- 'BRPOPLPUSH' => 'self::skipLast',
|
|
|
- 'ZREVRANGEBYSCORE' => 'self::first',
|
|
|
- 'WATCH' => 'self::all',
|
|
|
+ 'PERSIST' => 'self::first',
|
|
|
+ 'STRLEN' => 'self::first',
|
|
|
+ 'SETRANGE' => 'self::first',
|
|
|
+ 'GETRANGE' => 'self::first',
|
|
|
+ 'SETBIT' => 'self::first',
|
|
|
+ 'GETBIT' => 'self::first',
|
|
|
+ 'RPUSHX' => 'self::first',
|
|
|
+ 'LPUSHX' => 'self::first',
|
|
|
+ 'LINSERT' => 'self::first',
|
|
|
+ 'BRPOPLPUSH' => 'self::skipLast',
|
|
|
+ 'ZREVRANGEBYSCORE' => 'self::first',
|
|
|
+ 'WATCH' => 'self::all',
|
|
|
/* ---------------- Redis 2.6 ---------------- */
|
|
|
- 'PTTL' => 'self::first',
|
|
|
- 'PEXPIRE' => 'self::first',
|
|
|
- 'PEXPIREAT' => 'self::first',
|
|
|
- 'PSETEX' => 'self::first',
|
|
|
- 'INCRBYFLOAT' => 'self::first',
|
|
|
- 'BITOP' => 'self::skipFirst',
|
|
|
- 'BITCOUNT' => 'self::first',
|
|
|
- 'HINCRBYFLOAT' => 'self::first',
|
|
|
- 'EVAL' => 'self::evalKeys',
|
|
|
- 'EVALSHA' => 'self::evalKeys',
|
|
|
- 'MIGRATE' => 'self::migrate',
|
|
|
+ 'PTTL' => 'self::first',
|
|
|
+ 'PEXPIRE' => 'self::first',
|
|
|
+ 'PEXPIREAT' => 'self::first',
|
|
|
+ 'PSETEX' => 'self::first',
|
|
|
+ 'INCRBYFLOAT' => 'self::first',
|
|
|
+ 'BITOP' => 'self::skipFirst',
|
|
|
+ 'BITCOUNT' => 'self::first',
|
|
|
+ 'HINCRBYFLOAT' => 'self::first',
|
|
|
+ 'EVAL' => 'self::evalKeys',
|
|
|
+ 'EVALSHA' => 'self::evalKeys',
|
|
|
+ 'MIGRATE' => 'self::migrate',
|
|
|
/* ---------------- Redis 2.8 ---------------- */
|
|
|
- 'SSCAN' => 'self::first',
|
|
|
- 'ZSCAN' => 'self::first',
|
|
|
- 'HSCAN' => 'self::first',
|
|
|
- 'PFADD' => 'self::first',
|
|
|
- 'PFCOUNT' => 'self::all',
|
|
|
- 'PFMERGE' => 'self::all',
|
|
|
- 'ZLEXCOUNT' => 'self::first',
|
|
|
- 'ZRANGEBYLEX' => 'self::first',
|
|
|
- 'ZREMRANGEBYLEX' => 'self::first',
|
|
|
- 'ZREVRANGEBYLEX' => 'self::first',
|
|
|
- 'BITPOS' => 'self::first',
|
|
|
+ 'SSCAN' => 'self::first',
|
|
|
+ 'ZSCAN' => 'self::first',
|
|
|
+ 'HSCAN' => 'self::first',
|
|
|
+ 'PFADD' => 'self::first',
|
|
|
+ 'PFCOUNT' => 'self::all',
|
|
|
+ 'PFMERGE' => 'self::all',
|
|
|
+ 'ZLEXCOUNT' => 'self::first',
|
|
|
+ 'ZRANGEBYLEX' => 'self::first',
|
|
|
+ 'ZREMRANGEBYLEX' => 'self::first',
|
|
|
+ 'ZREVRANGEBYLEX' => 'self::first',
|
|
|
+ 'BITPOS' => 'self::first',
|
|
|
);
|
|
|
}
|
|
|
|
|
@@ -221,7 +221,7 @@ class KeyPrefixProcessor implements ProcessorInterface
|
|
|
|
|
|
if (!is_callable($callback)) {
|
|
|
throw new InvalidArgumentException(
|
|
|
- "Callback must be a valid callable object or NULL"
|
|
|
+ 'Callback must be a valid callable object or NULL'
|
|
|
);
|
|
|
}
|
|
|
|
|
@@ -297,7 +297,7 @@ class KeyPrefixProcessor implements ProcessorInterface
|
|
|
if ($arguments = $command->getArguments()) {
|
|
|
$length = count($arguments);
|
|
|
|
|
|
- for ($i = 1; $i < $length; $i++) {
|
|
|
+ for ($i = 1; $i < $length; ++$i) {
|
|
|
$arguments[$i] = "$prefix{$arguments[$i]}";
|
|
|
}
|
|
|
|
|
@@ -316,7 +316,7 @@ class KeyPrefixProcessor implements ProcessorInterface
|
|
|
if ($arguments = $command->getArguments()) {
|
|
|
$length = count($arguments);
|
|
|
|
|
|
- for ($i = 0; $i < $length - 1; $i++) {
|
|
|
+ for ($i = 0; $i < $length - 1; ++$i) {
|
|
|
$arguments[$i] = "$prefix{$arguments[$i]}";
|
|
|
}
|
|
|
|
|
@@ -336,7 +336,7 @@ class KeyPrefixProcessor implements ProcessorInterface
|
|
|
$arguments[0] = "$prefix{$arguments[0]}";
|
|
|
|
|
|
if (($count = count($arguments)) > 1) {
|
|
|
- for ($i = 1; $i < $count; $i++) {
|
|
|
+ for ($i = 1; $i < $count; ++$i) {
|
|
|
switch ($arguments[$i]) {
|
|
|
case 'BY':
|
|
|
case 'STORE':
|
|
@@ -370,7 +370,7 @@ class KeyPrefixProcessor implements ProcessorInterface
|
|
|
public static function evalKeys(CommandInterface $command, $prefix)
|
|
|
{
|
|
|
if ($arguments = $command->getArguments()) {
|
|
|
- for ($i = 2; $i < $arguments[1] + 2; $i++) {
|
|
|
+ for ($i = 2; $i < $arguments[1] + 2; ++$i) {
|
|
|
$arguments[$i] = "$prefix{$arguments[$i]}";
|
|
|
}
|
|
|
|
|
@@ -390,7 +390,7 @@ class KeyPrefixProcessor implements ProcessorInterface
|
|
|
$arguments[0] = "$prefix{$arguments[0]}";
|
|
|
$length = ((int) $arguments[1]) + 2;
|
|
|
|
|
|
- for ($i = 2; $i < $length; $i++) {
|
|
|
+ for ($i = 2; $i < $length; ++$i) {
|
|
|
$arguments[$i] = "$prefix{$arguments[$i]}";
|
|
|
}
|
|
|
|