Retwis ported to modern Redis data types.
The example (and related documentation at redis.io) was not updated for 5 years. Redis had no sorted sets and hashes when the original code was written (!). An update was really needed. We also use a modern PHP client now: Predis. A copy is shipped within this repository to make life easier to newcomers trying Redis for the first time via this example.
This commit is contained in:
commit
c58f935fdc
277 changed files with 18503 additions and 0 deletions
228
Predis/Profile/ServerProfile.php
Normal file
228
Predis/Profile/ServerProfile.php
Normal file
|
|
@ -0,0 +1,228 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Predis package.
|
||||
*
|
||||
* (c) Daniele Alessandri <suppakilla@gmail.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Predis\Profile;
|
||||
|
||||
use Predis\ClientException;
|
||||
use Predis\Command\Processor\CommandProcessingInterface;
|
||||
use Predis\Command\Processor\CommandProcessorInterface;
|
||||
|
||||
/**
|
||||
* Base class that implements common functionalities of server profiles.
|
||||
*
|
||||
* @author Daniele Alessandri <suppakilla@gmail.com>
|
||||
*/
|
||||
abstract class ServerProfile implements ServerProfileInterface, CommandProcessingInterface
|
||||
{
|
||||
private static $profiles;
|
||||
|
||||
private $commands;
|
||||
private $processor;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->commands = $this->getSupportedCommands();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a map of all the commands supported by the profile and their
|
||||
* actual PHP classes.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
abstract protected function getSupportedCommands();
|
||||
|
||||
/**
|
||||
* Returns the default server profile.
|
||||
*
|
||||
* @return ServerProfileInterface
|
||||
*/
|
||||
public static function getDefault()
|
||||
{
|
||||
return self::get('default');
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the development server profile.
|
||||
*
|
||||
* @return ServerProfileInterface
|
||||
*/
|
||||
public static function getDevelopment()
|
||||
{
|
||||
return self::get('dev');
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a map of all the server profiles supported by default and their
|
||||
* actual PHP classes.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
private static function getDefaultProfiles()
|
||||
{
|
||||
return array(
|
||||
'1.2' => 'Predis\Profile\ServerVersion12',
|
||||
'2.0' => 'Predis\Profile\ServerVersion20',
|
||||
'2.2' => 'Predis\Profile\ServerVersion22',
|
||||
'2.4' => 'Predis\Profile\ServerVersion24',
|
||||
'2.6' => 'Predis\Profile\ServerVersion26',
|
||||
'2.8' => 'Predis\Profile\ServerVersion28',
|
||||
'default' => 'Predis\Profile\ServerVersion26',
|
||||
'dev' => 'Predis\Profile\ServerVersionNext',
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a new server profile.
|
||||
*
|
||||
* @param string $alias Profile version or alias.
|
||||
* @param string $profileClass FQN of a class implementing Predis\Profile\ServerProfileInterface.
|
||||
*/
|
||||
public static function define($alias, $profileClass)
|
||||
{
|
||||
if (!isset(self::$profiles)) {
|
||||
self::$profiles = self::getDefaultProfiles();
|
||||
}
|
||||
|
||||
$profileReflection = new \ReflectionClass($profileClass);
|
||||
|
||||
if (!$profileReflection->isSubclassOf('Predis\Profile\ServerProfileInterface')) {
|
||||
throw new \InvalidArgumentException("Cannot register '$profileClass' as it is not a valid profile class");
|
||||
}
|
||||
|
||||
self::$profiles[$alias] = $profileClass;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the specified server profile.
|
||||
*
|
||||
* @param string $version Profile version or alias.
|
||||
* @return ServerProfileInterface
|
||||
*/
|
||||
public static function get($version)
|
||||
{
|
||||
if (!isset(self::$profiles)) {
|
||||
self::$profiles = self::getDefaultProfiles();
|
||||
}
|
||||
|
||||
if (!isset(self::$profiles[$version])) {
|
||||
throw new ClientException("Unknown server profile: $version");
|
||||
}
|
||||
|
||||
$profile = self::$profiles[$version];
|
||||
|
||||
return new $profile();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function supportsCommands(Array $commands)
|
||||
{
|
||||
foreach ($commands as $command) {
|
||||
if (!$this->supportsCommand($command)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function supportsCommand($command)
|
||||
{
|
||||
return isset($this->commands[strtolower($command)]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the FQN of the class that represent the specified command ID
|
||||
* registered in the current server profile.
|
||||
*
|
||||
* @param string $command Command ID.
|
||||
* @return string
|
||||
*/
|
||||
public function getCommandClass($command)
|
||||
{
|
||||
if (isset($this->commands[$command = strtolower($command)])) {
|
||||
return $this->commands[$command];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function createCommand($method, $arguments = array())
|
||||
{
|
||||
$method = strtolower($method);
|
||||
|
||||
if (!isset($this->commands[$method])) {
|
||||
throw new ClientException("'$method' is not a registered Redis command");
|
||||
}
|
||||
|
||||
$commandClass = $this->commands[$method];
|
||||
$command = new $commandClass();
|
||||
$command->setArguments($arguments);
|
||||
|
||||
if (isset($this->processor)) {
|
||||
$this->processor->process($command);
|
||||
}
|
||||
|
||||
return $command;
|
||||
}
|
||||
|
||||
/**
|
||||
* Defines a new commands in the server profile.
|
||||
*
|
||||
* @param string $alias Command ID.
|
||||
* @param string $command FQN of a class implementing Predis\Command\CommandInterface.
|
||||
*/
|
||||
public function defineCommand($alias, $command)
|
||||
{
|
||||
$commandReflection = new \ReflectionClass($command);
|
||||
|
||||
if (!$commandReflection->isSubclassOf('Predis\Command\CommandInterface')) {
|
||||
throw new \InvalidArgumentException("Cannot register '$command' as it is not a valid Redis command");
|
||||
}
|
||||
|
||||
$this->commands[strtolower($alias)] = $command;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function setProcessor(CommandProcessorInterface $processor = null)
|
||||
{
|
||||
$this->processor = $processor;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getProcessor()
|
||||
{
|
||||
return $this->processor;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the version of server profile as its string representation.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __toString()
|
||||
{
|
||||
return $this->getVersion();
|
||||
}
|
||||
}
|
||||
56
Predis/Profile/ServerProfileInterface.php
Normal file
56
Predis/Profile/ServerProfileInterface.php
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Predis package.
|
||||
*
|
||||
* (c) Daniele Alessandri <suppakilla@gmail.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Predis\Profile;
|
||||
|
||||
use Predis\Command\CommandInterface;
|
||||
|
||||
/**
|
||||
* A server profile defines features and commands supported by certain
|
||||
* versions of Redis. Instances of Predis\Client should use a server
|
||||
* profile matching the version of Redis in use.
|
||||
*
|
||||
* @author Daniele Alessandri <suppakilla@gmail.com>
|
||||
*/
|
||||
interface ServerProfileInterface
|
||||
{
|
||||
/**
|
||||
* Gets a profile version corresponding to a Redis version.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getVersion();
|
||||
|
||||
/**
|
||||
* Checks if the profile supports the specified command.
|
||||
*
|
||||
* @param string $command Command ID.
|
||||
* @return bool
|
||||
*/
|
||||
public function supportsCommand($command);
|
||||
|
||||
/**
|
||||
* Checks if the profile supports the specified list of commands.
|
||||
*
|
||||
* @param array $commands List of command IDs.
|
||||
* @return string
|
||||
*/
|
||||
public function supportsCommands(Array $commands);
|
||||
|
||||
/**
|
||||
* Creates a new command instance.
|
||||
*
|
||||
* @param string $method Command ID.
|
||||
* @param array $arguments Arguments for the command.
|
||||
* @return CommandInterface
|
||||
*/
|
||||
public function createCommand($method, $arguments = array());
|
||||
}
|
||||
125
Predis/Profile/ServerVersion12.php
Normal file
125
Predis/Profile/ServerVersion12.php
Normal file
|
|
@ -0,0 +1,125 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Predis package.
|
||||
*
|
||||
* (c) Daniele Alessandri <suppakilla@gmail.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Predis\Profile;
|
||||
|
||||
/**
|
||||
* Server profile for Redis v1.2.x.
|
||||
*
|
||||
* @author Daniele Alessandri <suppakilla@gmail.com>
|
||||
*/
|
||||
class ServerVersion12 extends ServerProfile
|
||||
{
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getVersion()
|
||||
{
|
||||
return '1.2';
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getSupportedCommands()
|
||||
{
|
||||
return array(
|
||||
/* ---------------- Redis 1.2 ---------------- */
|
||||
|
||||
/* commands operating on the key space */
|
||||
'exists' => 'Predis\Command\KeyExists',
|
||||
'del' => 'Predis\Command\KeyDelete',
|
||||
'type' => 'Predis\Command\KeyType',
|
||||
'keys' => 'Predis\Command\KeyKeysV12x',
|
||||
'randomkey' => 'Predis\Command\KeyRandom',
|
||||
'rename' => 'Predis\Command\KeyRename',
|
||||
'renamenx' => 'Predis\Command\KeyRenamePreserve',
|
||||
'expire' => 'Predis\Command\KeyExpire',
|
||||
'expireat' => 'Predis\Command\KeyExpireAt',
|
||||
'ttl' => 'Predis\Command\KeyTimeToLive',
|
||||
'move' => 'Predis\Command\KeyMove',
|
||||
'sort' => 'Predis\Command\KeySort',
|
||||
|
||||
/* commands operating on string values */
|
||||
'set' => 'Predis\Command\StringSet',
|
||||
'setnx' => 'Predis\Command\StringSetPreserve',
|
||||
'mset' => 'Predis\Command\StringSetMultiple',
|
||||
'msetnx' => 'Predis\Command\StringSetMultiplePreserve',
|
||||
'get' => 'Predis\Command\StringGet',
|
||||
'mget' => 'Predis\Command\StringGetMultiple',
|
||||
'getset' => 'Predis\Command\StringGetSet',
|
||||
'incr' => 'Predis\Command\StringIncrement',
|
||||
'incrby' => 'Predis\Command\StringIncrementBy',
|
||||
'decr' => 'Predis\Command\StringDecrement',
|
||||
'decrby' => 'Predis\Command\StringDecrementBy',
|
||||
|
||||
/* commands operating on lists */
|
||||
'rpush' => 'Predis\Command\ListPushTail',
|
||||
'lpush' => 'Predis\Command\ListPushHead',
|
||||
'llen' => 'Predis\Command\ListLength',
|
||||
'lrange' => 'Predis\Command\ListRange',
|
||||
'ltrim' => 'Predis\Command\ListTrim',
|
||||
'lindex' => 'Predis\Command\ListIndex',
|
||||
'lset' => 'Predis\Command\ListSet',
|
||||
'lrem' => 'Predis\Command\ListRemove',
|
||||
'lpop' => 'Predis\Command\ListPopFirst',
|
||||
'rpop' => 'Predis\Command\ListPopLast',
|
||||
'rpoplpush' => 'Predis\Command\ListPopLastPushHead',
|
||||
|
||||
/* commands operating on sets */
|
||||
'sadd' => 'Predis\Command\SetAdd',
|
||||
'srem' => 'Predis\Command\SetRemove',
|
||||
'spop' => 'Predis\Command\SetPop',
|
||||
'smove' => 'Predis\Command\SetMove',
|
||||
'scard' => 'Predis\Command\SetCardinality',
|
||||
'sismember' => 'Predis\Command\SetIsMember',
|
||||
'sinter' => 'Predis\Command\SetIntersection',
|
||||
'sinterstore' => 'Predis\Command\SetIntersectionStore',
|
||||
'sunion' => 'Predis\Command\SetUnion',
|
||||
'sunionstore' => 'Predis\Command\SetUnionStore',
|
||||
'sdiff' => 'Predis\Command\SetDifference',
|
||||
'sdiffstore' => 'Predis\Command\SetDifferenceStore',
|
||||
'smembers' => 'Predis\Command\SetMembers',
|
||||
'srandmember' => 'Predis\Command\SetRandomMember',
|
||||
|
||||
/* commands operating on sorted sets */
|
||||
'zadd' => 'Predis\Command\ZSetAdd',
|
||||
'zincrby' => 'Predis\Command\ZSetIncrementBy',
|
||||
'zrem' => 'Predis\Command\ZSetRemove',
|
||||
'zrange' => 'Predis\Command\ZSetRange',
|
||||
'zrevrange' => 'Predis\Command\ZSetReverseRange',
|
||||
'zrangebyscore' => 'Predis\Command\ZSetRangeByScore',
|
||||
'zcard' => 'Predis\Command\ZSetCardinality',
|
||||
'zscore' => 'Predis\Command\ZSetScore',
|
||||
'zremrangebyscore' => 'Predis\Command\ZSetRemoveRangeByScore',
|
||||
|
||||
/* connection related commands */
|
||||
'ping' => 'Predis\Command\ConnectionPing',
|
||||
'auth' => 'Predis\Command\ConnectionAuth',
|
||||
'select' => 'Predis\Command\ConnectionSelect',
|
||||
'echo' => 'Predis\Command\ConnectionEcho',
|
||||
'quit' => 'Predis\Command\ConnectionQuit',
|
||||
|
||||
/* remote server control commands */
|
||||
'info' => 'Predis\Command\ServerInfo',
|
||||
'slaveof' => 'Predis\Command\ServerSlaveOf',
|
||||
'monitor' => 'Predis\Command\ServerMonitor',
|
||||
'dbsize' => 'Predis\Command\ServerDatabaseSize',
|
||||
'flushdb' => 'Predis\Command\ServerFlushDatabase',
|
||||
'flushall' => 'Predis\Command\ServerFlushAll',
|
||||
'save' => 'Predis\Command\ServerSave',
|
||||
'bgsave' => 'Predis\Command\ServerBackgroundSave',
|
||||
'lastsave' => 'Predis\Command\ServerLastSave',
|
||||
'shutdown' => 'Predis\Command\ServerShutdown',
|
||||
'bgrewriteaof' => 'Predis\Command\ServerBackgroundRewriteAOF',
|
||||
);
|
||||
}
|
||||
}
|
||||
173
Predis/Profile/ServerVersion20.php
Normal file
173
Predis/Profile/ServerVersion20.php
Normal file
|
|
@ -0,0 +1,173 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Predis package.
|
||||
*
|
||||
* (c) Daniele Alessandri <suppakilla@gmail.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Predis\Profile;
|
||||
|
||||
/**
|
||||
* Server profile for Redis v2.0.x.
|
||||
*
|
||||
* @author Daniele Alessandri <suppakilla@gmail.com>
|
||||
*/
|
||||
class ServerVersion20 extends ServerProfile
|
||||
{
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getVersion()
|
||||
{
|
||||
return '2.0';
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getSupportedCommands()
|
||||
{
|
||||
return array(
|
||||
/* ---------------- Redis 1.2 ---------------- */
|
||||
|
||||
/* commands operating on the key space */
|
||||
'exists' => 'Predis\Command\KeyExists',
|
||||
'del' => 'Predis\Command\KeyDelete',
|
||||
'type' => 'Predis\Command\KeyType',
|
||||
'keys' => 'Predis\Command\KeyKeys',
|
||||
'randomkey' => 'Predis\Command\KeyRandom',
|
||||
'rename' => 'Predis\Command\KeyRename',
|
||||
'renamenx' => 'Predis\Command\KeyRenamePreserve',
|
||||
'expire' => 'Predis\Command\KeyExpire',
|
||||
'expireat' => 'Predis\Command\KeyExpireAt',
|
||||
'ttl' => 'Predis\Command\KeyTimeToLive',
|
||||
'move' => 'Predis\Command\KeyMove',
|
||||
'sort' => 'Predis\Command\KeySort',
|
||||
|
||||
/* commands operating on string values */
|
||||
'set' => 'Predis\Command\StringSet',
|
||||
'setnx' => 'Predis\Command\StringSetPreserve',
|
||||
'mset' => 'Predis\Command\StringSetMultiple',
|
||||
'msetnx' => 'Predis\Command\StringSetMultiplePreserve',
|
||||
'get' => 'Predis\Command\StringGet',
|
||||
'mget' => 'Predis\Command\StringGetMultiple',
|
||||
'getset' => 'Predis\Command\StringGetSet',
|
||||
'incr' => 'Predis\Command\StringIncrement',
|
||||
'incrby' => 'Predis\Command\StringIncrementBy',
|
||||
'decr' => 'Predis\Command\StringDecrement',
|
||||
'decrby' => 'Predis\Command\StringDecrementBy',
|
||||
|
||||
/* commands operating on lists */
|
||||
'rpush' => 'Predis\Command\ListPushTail',
|
||||
'lpush' => 'Predis\Command\ListPushHead',
|
||||
'llen' => 'Predis\Command\ListLength',
|
||||
'lrange' => 'Predis\Command\ListRange',
|
||||
'ltrim' => 'Predis\Command\ListTrim',
|
||||
'lindex' => 'Predis\Command\ListIndex',
|
||||
'lset' => 'Predis\Command\ListSet',
|
||||
'lrem' => 'Predis\Command\ListRemove',
|
||||
'lpop' => 'Predis\Command\ListPopFirst',
|
||||
'rpop' => 'Predis\Command\ListPopLast',
|
||||
'rpoplpush' => 'Predis\Command\ListPopLastPushHead',
|
||||
|
||||
/* commands operating on sets */
|
||||
'sadd' => 'Predis\Command\SetAdd',
|
||||
'srem' => 'Predis\Command\SetRemove',
|
||||
'spop' => 'Predis\Command\SetPop',
|
||||
'smove' => 'Predis\Command\SetMove',
|
||||
'scard' => 'Predis\Command\SetCardinality',
|
||||
'sismember' => 'Predis\Command\SetIsMember',
|
||||
'sinter' => 'Predis\Command\SetIntersection',
|
||||
'sinterstore' => 'Predis\Command\SetIntersectionStore',
|
||||
'sunion' => 'Predis\Command\SetUnion',
|
||||
'sunionstore' => 'Predis\Command\SetUnionStore',
|
||||
'sdiff' => 'Predis\Command\SetDifference',
|
||||
'sdiffstore' => 'Predis\Command\SetDifferenceStore',
|
||||
'smembers' => 'Predis\Command\SetMembers',
|
||||
'srandmember' => 'Predis\Command\SetRandomMember',
|
||||
|
||||
/* commands operating on sorted sets */
|
||||
'zadd' => 'Predis\Command\ZSetAdd',
|
||||
'zincrby' => 'Predis\Command\ZSetIncrementBy',
|
||||
'zrem' => 'Predis\Command\ZSetRemove',
|
||||
'zrange' => 'Predis\Command\ZSetRange',
|
||||
'zrevrange' => 'Predis\Command\ZSetReverseRange',
|
||||
'zrangebyscore' => 'Predis\Command\ZSetRangeByScore',
|
||||
'zcard' => 'Predis\Command\ZSetCardinality',
|
||||
'zscore' => 'Predis\Command\ZSetScore',
|
||||
'zremrangebyscore' => 'Predis\Command\ZSetRemoveRangeByScore',
|
||||
|
||||
/* connection related commands */
|
||||
'ping' => 'Predis\Command\ConnectionPing',
|
||||
'auth' => 'Predis\Command\ConnectionAuth',
|
||||
'select' => 'Predis\Command\ConnectionSelect',
|
||||
'echo' => 'Predis\Command\ConnectionEcho',
|
||||
'quit' => 'Predis\Command\ConnectionQuit',
|
||||
|
||||
/* remote server control commands */
|
||||
'info' => 'Predis\Command\ServerInfo',
|
||||
'slaveof' => 'Predis\Command\ServerSlaveOf',
|
||||
'monitor' => 'Predis\Command\ServerMonitor',
|
||||
'dbsize' => 'Predis\Command\ServerDatabaseSize',
|
||||
'flushdb' => 'Predis\Command\ServerFlushDatabase',
|
||||
'flushall' => 'Predis\Command\ServerFlushAll',
|
||||
'save' => 'Predis\Command\ServerSave',
|
||||
'bgsave' => 'Predis\Command\ServerBackgroundSave',
|
||||
'lastsave' => 'Predis\Command\ServerLastSave',
|
||||
'shutdown' => 'Predis\Command\ServerShutdown',
|
||||
'bgrewriteaof' => 'Predis\Command\ServerBackgroundRewriteAOF',
|
||||
|
||||
/* ---------------- Redis 2.0 ---------------- */
|
||||
|
||||
/* commands operating on string values */
|
||||
'setex' => 'Predis\Command\StringSetExpire',
|
||||
'append' => 'Predis\Command\StringAppend',
|
||||
'substr' => 'Predis\Command\StringSubstr',
|
||||
|
||||
/* commands operating on lists */
|
||||
'blpop' => 'Predis\Command\ListPopFirstBlocking',
|
||||
'brpop' => 'Predis\Command\ListPopLastBlocking',
|
||||
|
||||
/* commands operating on sorted sets */
|
||||
'zunionstore' => 'Predis\Command\ZSetUnionStore',
|
||||
'zinterstore' => 'Predis\Command\ZSetIntersectionStore',
|
||||
'zcount' => 'Predis\Command\ZSetCount',
|
||||
'zrank' => 'Predis\Command\ZSetRank',
|
||||
'zrevrank' => 'Predis\Command\ZSetReverseRank',
|
||||
'zremrangebyrank' => 'Predis\Command\ZSetRemoveRangeByRank',
|
||||
|
||||
/* commands operating on hashes */
|
||||
'hset' => 'Predis\Command\HashSet',
|
||||
'hsetnx' => 'Predis\Command\HashSetPreserve',
|
||||
'hmset' => 'Predis\Command\HashSetMultiple',
|
||||
'hincrby' => 'Predis\Command\HashIncrementBy',
|
||||
'hget' => 'Predis\Command\HashGet',
|
||||
'hmget' => 'Predis\Command\HashGetMultiple',
|
||||
'hdel' => 'Predis\Command\HashDelete',
|
||||
'hexists' => 'Predis\Command\HashExists',
|
||||
'hlen' => 'Predis\Command\HashLength',
|
||||
'hkeys' => 'Predis\Command\HashKeys',
|
||||
'hvals' => 'Predis\Command\HashValues',
|
||||
'hgetall' => 'Predis\Command\HashGetAll',
|
||||
|
||||
/* transactions */
|
||||
'multi' => 'Predis\Command\TransactionMulti',
|
||||
'exec' => 'Predis\Command\TransactionExec',
|
||||
'discard' => 'Predis\Command\TransactionDiscard',
|
||||
|
||||
/* publish - subscribe */
|
||||
'subscribe' => 'Predis\Command\PubSubSubscribe',
|
||||
'unsubscribe' => 'Predis\Command\PubSubUnsubscribe',
|
||||
'psubscribe' => 'Predis\Command\PubSubSubscribeByPattern',
|
||||
'punsubscribe' => 'Predis\Command\PubSubUnsubscribeByPattern',
|
||||
'publish' => 'Predis\Command\PubSubPublish',
|
||||
|
||||
/* remote server control commands */
|
||||
'config' => 'Predis\Command\ServerConfig',
|
||||
);
|
||||
}
|
||||
}
|
||||
202
Predis/Profile/ServerVersion22.php
Normal file
202
Predis/Profile/ServerVersion22.php
Normal file
|
|
@ -0,0 +1,202 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Predis package.
|
||||
*
|
||||
* (c) Daniele Alessandri <suppakilla@gmail.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Predis\Profile;
|
||||
|
||||
/**
|
||||
* Server profile for Redis v2.2.x.
|
||||
*
|
||||
* @author Daniele Alessandri <suppakilla@gmail.com>
|
||||
*/
|
||||
class ServerVersion22 extends ServerProfile
|
||||
{
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getVersion()
|
||||
{
|
||||
return '2.2';
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getSupportedCommands()
|
||||
{
|
||||
return array(
|
||||
/* ---------------- Redis 1.2 ---------------- */
|
||||
|
||||
/* commands operating on the key space */
|
||||
'exists' => 'Predis\Command\KeyExists',
|
||||
'del' => 'Predis\Command\KeyDelete',
|
||||
'type' => 'Predis\Command\KeyType',
|
||||
'keys' => 'Predis\Command\KeyKeys',
|
||||
'randomkey' => 'Predis\Command\KeyRandom',
|
||||
'rename' => 'Predis\Command\KeyRename',
|
||||
'renamenx' => 'Predis\Command\KeyRenamePreserve',
|
||||
'expire' => 'Predis\Command\KeyExpire',
|
||||
'expireat' => 'Predis\Command\KeyExpireAt',
|
||||
'ttl' => 'Predis\Command\KeyTimeToLive',
|
||||
'move' => 'Predis\Command\KeyMove',
|
||||
'sort' => 'Predis\Command\KeySort',
|
||||
|
||||
/* commands operating on string values */
|
||||
'set' => 'Predis\Command\StringSet',
|
||||
'setnx' => 'Predis\Command\StringSetPreserve',
|
||||
'mset' => 'Predis\Command\StringSetMultiple',
|
||||
'msetnx' => 'Predis\Command\StringSetMultiplePreserve',
|
||||
'get' => 'Predis\Command\StringGet',
|
||||
'mget' => 'Predis\Command\StringGetMultiple',
|
||||
'getset' => 'Predis\Command\StringGetSet',
|
||||
'incr' => 'Predis\Command\StringIncrement',
|
||||
'incrby' => 'Predis\Command\StringIncrementBy',
|
||||
'decr' => 'Predis\Command\StringDecrement',
|
||||
'decrby' => 'Predis\Command\StringDecrementBy',
|
||||
|
||||
/* commands operating on lists */
|
||||
'rpush' => 'Predis\Command\ListPushTail',
|
||||
'lpush' => 'Predis\Command\ListPushHead',
|
||||
'llen' => 'Predis\Command\ListLength',
|
||||
'lrange' => 'Predis\Command\ListRange',
|
||||
'ltrim' => 'Predis\Command\ListTrim',
|
||||
'lindex' => 'Predis\Command\ListIndex',
|
||||
'lset' => 'Predis\Command\ListSet',
|
||||
'lrem' => 'Predis\Command\ListRemove',
|
||||
'lpop' => 'Predis\Command\ListPopFirst',
|
||||
'rpop' => 'Predis\Command\ListPopLast',
|
||||
'rpoplpush' => 'Predis\Command\ListPopLastPushHead',
|
||||
|
||||
/* commands operating on sets */
|
||||
'sadd' => 'Predis\Command\SetAdd',
|
||||
'srem' => 'Predis\Command\SetRemove',
|
||||
'spop' => 'Predis\Command\SetPop',
|
||||
'smove' => 'Predis\Command\SetMove',
|
||||
'scard' => 'Predis\Command\SetCardinality',
|
||||
'sismember' => 'Predis\Command\SetIsMember',
|
||||
'sinter' => 'Predis\Command\SetIntersection',
|
||||
'sinterstore' => 'Predis\Command\SetIntersectionStore',
|
||||
'sunion' => 'Predis\Command\SetUnion',
|
||||
'sunionstore' => 'Predis\Command\SetUnionStore',
|
||||
'sdiff' => 'Predis\Command\SetDifference',
|
||||
'sdiffstore' => 'Predis\Command\SetDifferenceStore',
|
||||
'smembers' => 'Predis\Command\SetMembers',
|
||||
'srandmember' => 'Predis\Command\SetRandomMember',
|
||||
|
||||
/* commands operating on sorted sets */
|
||||
'zadd' => 'Predis\Command\ZSetAdd',
|
||||
'zincrby' => 'Predis\Command\ZSetIncrementBy',
|
||||
'zrem' => 'Predis\Command\ZSetRemove',
|
||||
'zrange' => 'Predis\Command\ZSetRange',
|
||||
'zrevrange' => 'Predis\Command\ZSetReverseRange',
|
||||
'zrangebyscore' => 'Predis\Command\ZSetRangeByScore',
|
||||
'zcard' => 'Predis\Command\ZSetCardinality',
|
||||
'zscore' => 'Predis\Command\ZSetScore',
|
||||
'zremrangebyscore' => 'Predis\Command\ZSetRemoveRangeByScore',
|
||||
|
||||
/* connection related commands */
|
||||
'ping' => 'Predis\Command\ConnectionPing',
|
||||
'auth' => 'Predis\Command\ConnectionAuth',
|
||||
'select' => 'Predis\Command\ConnectionSelect',
|
||||
'echo' => 'Predis\Command\ConnectionEcho',
|
||||
'quit' => 'Predis\Command\ConnectionQuit',
|
||||
|
||||
/* remote server control commands */
|
||||
'info' => 'Predis\Command\ServerInfo',
|
||||
'slaveof' => 'Predis\Command\ServerSlaveOf',
|
||||
'monitor' => 'Predis\Command\ServerMonitor',
|
||||
'dbsize' => 'Predis\Command\ServerDatabaseSize',
|
||||
'flushdb' => 'Predis\Command\ServerFlushDatabase',
|
||||
'flushall' => 'Predis\Command\ServerFlushAll',
|
||||
'save' => 'Predis\Command\ServerSave',
|
||||
'bgsave' => 'Predis\Command\ServerBackgroundSave',
|
||||
'lastsave' => 'Predis\Command\ServerLastSave',
|
||||
'shutdown' => 'Predis\Command\ServerShutdown',
|
||||
'bgrewriteaof' => 'Predis\Command\ServerBackgroundRewriteAOF',
|
||||
|
||||
/* ---------------- Redis 2.0 ---------------- */
|
||||
|
||||
/* commands operating on string values */
|
||||
'setex' => 'Predis\Command\StringSetExpire',
|
||||
'append' => 'Predis\Command\StringAppend',
|
||||
'substr' => 'Predis\Command\StringSubstr',
|
||||
|
||||
/* commands operating on lists */
|
||||
'blpop' => 'Predis\Command\ListPopFirstBlocking',
|
||||
'brpop' => 'Predis\Command\ListPopLastBlocking',
|
||||
|
||||
/* commands operating on sorted sets */
|
||||
'zunionstore' => 'Predis\Command\ZSetUnionStore',
|
||||
'zinterstore' => 'Predis\Command\ZSetIntersectionStore',
|
||||
'zcount' => 'Predis\Command\ZSetCount',
|
||||
'zrank' => 'Predis\Command\ZSetRank',
|
||||
'zrevrank' => 'Predis\Command\ZSetReverseRank',
|
||||
'zremrangebyrank' => 'Predis\Command\ZSetRemoveRangeByRank',
|
||||
|
||||
/* commands operating on hashes */
|
||||
'hset' => 'Predis\Command\HashSet',
|
||||
'hsetnx' => 'Predis\Command\HashSetPreserve',
|
||||
'hmset' => 'Predis\Command\HashSetMultiple',
|
||||
'hincrby' => 'Predis\Command\HashIncrementBy',
|
||||
'hget' => 'Predis\Command\HashGet',
|
||||
'hmget' => 'Predis\Command\HashGetMultiple',
|
||||
'hdel' => 'Predis\Command\HashDelete',
|
||||
'hexists' => 'Predis\Command\HashExists',
|
||||
'hlen' => 'Predis\Command\HashLength',
|
||||
'hkeys' => 'Predis\Command\HashKeys',
|
||||
'hvals' => 'Predis\Command\HashValues',
|
||||
'hgetall' => 'Predis\Command\HashGetAll',
|
||||
|
||||
/* transactions */
|
||||
'multi' => 'Predis\Command\TransactionMulti',
|
||||
'exec' => 'Predis\Command\TransactionExec',
|
||||
'discard' => 'Predis\Command\TransactionDiscard',
|
||||
|
||||
/* publish - subscribe */
|
||||
'subscribe' => 'Predis\Command\PubSubSubscribe',
|
||||
'unsubscribe' => 'Predis\Command\PubSubUnsubscribe',
|
||||
'psubscribe' => 'Predis\Command\PubSubSubscribeByPattern',
|
||||
'punsubscribe' => 'Predis\Command\PubSubUnsubscribeByPattern',
|
||||
'publish' => 'Predis\Command\PubSubPublish',
|
||||
|
||||
/* remote server control commands */
|
||||
'config' => 'Predis\Command\ServerConfig',
|
||||
|
||||
/* ---------------- Redis 2.2 ---------------- */
|
||||
|
||||
/* commands operating on the key space */
|
||||
'persist' => 'Predis\Command\KeyPersist',
|
||||
|
||||
/* commands operating on string values */
|
||||
'strlen' => 'Predis\Command\StringStrlen',
|
||||
'setrange' => 'Predis\Command\StringSetRange',
|
||||
'getrange' => 'Predis\Command\StringGetRange',
|
||||
'setbit' => 'Predis\Command\StringSetBit',
|
||||
'getbit' => 'Predis\Command\StringGetBit',
|
||||
|
||||
/* commands operating on lists */
|
||||
'rpushx' => 'Predis\Command\ListPushTailX',
|
||||
'lpushx' => 'Predis\Command\ListPushHeadX',
|
||||
'linsert' => 'Predis\Command\ListInsert',
|
||||
'brpoplpush' => 'Predis\Command\ListPopLastPushHeadBlocking',
|
||||
|
||||
/* commands operating on sorted sets */
|
||||
'zrevrangebyscore' => 'Predis\Command\ZSetReverseRangeByScore',
|
||||
|
||||
/* transactions */
|
||||
'watch' => 'Predis\Command\TransactionWatch',
|
||||
'unwatch' => 'Predis\Command\TransactionUnwatch',
|
||||
|
||||
/* remote server control commands */
|
||||
'object' => 'Predis\Command\ServerObject',
|
||||
'slowlog' => 'Predis\Command\ServerSlowlog',
|
||||
);
|
||||
}
|
||||
}
|
||||
207
Predis/Profile/ServerVersion24.php
Normal file
207
Predis/Profile/ServerVersion24.php
Normal file
|
|
@ -0,0 +1,207 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Predis package.
|
||||
*
|
||||
* (c) Daniele Alessandri <suppakilla@gmail.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Predis\Profile;
|
||||
|
||||
/**
|
||||
* Server profile for Redis v2.4.x.
|
||||
*
|
||||
* @author Daniele Alessandri <suppakilla@gmail.com>
|
||||
*/
|
||||
class ServerVersion24 extends ServerProfile
|
||||
{
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getVersion()
|
||||
{
|
||||
return '2.4';
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getSupportedCommands()
|
||||
{
|
||||
return array(
|
||||
/* ---------------- Redis 1.2 ---------------- */
|
||||
|
||||
/* commands operating on the key space */
|
||||
'exists' => 'Predis\Command\KeyExists',
|
||||
'del' => 'Predis\Command\KeyDelete',
|
||||
'type' => 'Predis\Command\KeyType',
|
||||
'keys' => 'Predis\Command\KeyKeys',
|
||||
'randomkey' => 'Predis\Command\KeyRandom',
|
||||
'rename' => 'Predis\Command\KeyRename',
|
||||
'renamenx' => 'Predis\Command\KeyRenamePreserve',
|
||||
'expire' => 'Predis\Command\KeyExpire',
|
||||
'expireat' => 'Predis\Command\KeyExpireAt',
|
||||
'ttl' => 'Predis\Command\KeyTimeToLive',
|
||||
'move' => 'Predis\Command\KeyMove',
|
||||
'sort' => 'Predis\Command\KeySort',
|
||||
|
||||
/* commands operating on string values */
|
||||
'set' => 'Predis\Command\StringSet',
|
||||
'setnx' => 'Predis\Command\StringSetPreserve',
|
||||
'mset' => 'Predis\Command\StringSetMultiple',
|
||||
'msetnx' => 'Predis\Command\StringSetMultiplePreserve',
|
||||
'get' => 'Predis\Command\StringGet',
|
||||
'mget' => 'Predis\Command\StringGetMultiple',
|
||||
'getset' => 'Predis\Command\StringGetSet',
|
||||
'incr' => 'Predis\Command\StringIncrement',
|
||||
'incrby' => 'Predis\Command\StringIncrementBy',
|
||||
'decr' => 'Predis\Command\StringDecrement',
|
||||
'decrby' => 'Predis\Command\StringDecrementBy',
|
||||
|
||||
/* commands operating on lists */
|
||||
'rpush' => 'Predis\Command\ListPushTail',
|
||||
'lpush' => 'Predis\Command\ListPushHead',
|
||||
'llen' => 'Predis\Command\ListLength',
|
||||
'lrange' => 'Predis\Command\ListRange',
|
||||
'ltrim' => 'Predis\Command\ListTrim',
|
||||
'lindex' => 'Predis\Command\ListIndex',
|
||||
'lset' => 'Predis\Command\ListSet',
|
||||
'lrem' => 'Predis\Command\ListRemove',
|
||||
'lpop' => 'Predis\Command\ListPopFirst',
|
||||
'rpop' => 'Predis\Command\ListPopLast',
|
||||
'rpoplpush' => 'Predis\Command\ListPopLastPushHead',
|
||||
|
||||
/* commands operating on sets */
|
||||
'sadd' => 'Predis\Command\SetAdd',
|
||||
'srem' => 'Predis\Command\SetRemove',
|
||||
'spop' => 'Predis\Command\SetPop',
|
||||
'smove' => 'Predis\Command\SetMove',
|
||||
'scard' => 'Predis\Command\SetCardinality',
|
||||
'sismember' => 'Predis\Command\SetIsMember',
|
||||
'sinter' => 'Predis\Command\SetIntersection',
|
||||
'sinterstore' => 'Predis\Command\SetIntersectionStore',
|
||||
'sunion' => 'Predis\Command\SetUnion',
|
||||
'sunionstore' => 'Predis\Command\SetUnionStore',
|
||||
'sdiff' => 'Predis\Command\SetDifference',
|
||||
'sdiffstore' => 'Predis\Command\SetDifferenceStore',
|
||||
'smembers' => 'Predis\Command\SetMembers',
|
||||
'srandmember' => 'Predis\Command\SetRandomMember',
|
||||
|
||||
/* commands operating on sorted sets */
|
||||
'zadd' => 'Predis\Command\ZSetAdd',
|
||||
'zincrby' => 'Predis\Command\ZSetIncrementBy',
|
||||
'zrem' => 'Predis\Command\ZSetRemove',
|
||||
'zrange' => 'Predis\Command\ZSetRange',
|
||||
'zrevrange' => 'Predis\Command\ZSetReverseRange',
|
||||
'zrangebyscore' => 'Predis\Command\ZSetRangeByScore',
|
||||
'zcard' => 'Predis\Command\ZSetCardinality',
|
||||
'zscore' => 'Predis\Command\ZSetScore',
|
||||
'zremrangebyscore' => 'Predis\Command\ZSetRemoveRangeByScore',
|
||||
|
||||
/* connection related commands */
|
||||
'ping' => 'Predis\Command\ConnectionPing',
|
||||
'auth' => 'Predis\Command\ConnectionAuth',
|
||||
'select' => 'Predis\Command\ConnectionSelect',
|
||||
'echo' => 'Predis\Command\ConnectionEcho',
|
||||
'quit' => 'Predis\Command\ConnectionQuit',
|
||||
|
||||
/* remote server control commands */
|
||||
'info' => 'Predis\Command\ServerInfo',
|
||||
'slaveof' => 'Predis\Command\ServerSlaveOf',
|
||||
'monitor' => 'Predis\Command\ServerMonitor',
|
||||
'dbsize' => 'Predis\Command\ServerDatabaseSize',
|
||||
'flushdb' => 'Predis\Command\ServerFlushDatabase',
|
||||
'flushall' => 'Predis\Command\ServerFlushAll',
|
||||
'save' => 'Predis\Command\ServerSave',
|
||||
'bgsave' => 'Predis\Command\ServerBackgroundSave',
|
||||
'lastsave' => 'Predis\Command\ServerLastSave',
|
||||
'shutdown' => 'Predis\Command\ServerShutdown',
|
||||
'bgrewriteaof' => 'Predis\Command\ServerBackgroundRewriteAOF',
|
||||
|
||||
/* ---------------- Redis 2.0 ---------------- */
|
||||
|
||||
/* commands operating on string values */
|
||||
'setex' => 'Predis\Command\StringSetExpire',
|
||||
'append' => 'Predis\Command\StringAppend',
|
||||
'substr' => 'Predis\Command\StringSubstr',
|
||||
|
||||
/* commands operating on lists */
|
||||
'blpop' => 'Predis\Command\ListPopFirstBlocking',
|
||||
'brpop' => 'Predis\Command\ListPopLastBlocking',
|
||||
|
||||
/* commands operating on sorted sets */
|
||||
'zunionstore' => 'Predis\Command\ZSetUnionStore',
|
||||
'zinterstore' => 'Predis\Command\ZSetIntersectionStore',
|
||||
'zcount' => 'Predis\Command\ZSetCount',
|
||||
'zrank' => 'Predis\Command\ZSetRank',
|
||||
'zrevrank' => 'Predis\Command\ZSetReverseRank',
|
||||
'zremrangebyrank' => 'Predis\Command\ZSetRemoveRangeByRank',
|
||||
|
||||
/* commands operating on hashes */
|
||||
'hset' => 'Predis\Command\HashSet',
|
||||
'hsetnx' => 'Predis\Command\HashSetPreserve',
|
||||
'hmset' => 'Predis\Command\HashSetMultiple',
|
||||
'hincrby' => 'Predis\Command\HashIncrementBy',
|
||||
'hget' => 'Predis\Command\HashGet',
|
||||
'hmget' => 'Predis\Command\HashGetMultiple',
|
||||
'hdel' => 'Predis\Command\HashDelete',
|
||||
'hexists' => 'Predis\Command\HashExists',
|
||||
'hlen' => 'Predis\Command\HashLength',
|
||||
'hkeys' => 'Predis\Command\HashKeys',
|
||||
'hvals' => 'Predis\Command\HashValues',
|
||||
'hgetall' => 'Predis\Command\HashGetAll',
|
||||
|
||||
/* transactions */
|
||||
'multi' => 'Predis\Command\TransactionMulti',
|
||||
'exec' => 'Predis\Command\TransactionExec',
|
||||
'discard' => 'Predis\Command\TransactionDiscard',
|
||||
|
||||
/* publish - subscribe */
|
||||
'subscribe' => 'Predis\Command\PubSubSubscribe',
|
||||
'unsubscribe' => 'Predis\Command\PubSubUnsubscribe',
|
||||
'psubscribe' => 'Predis\Command\PubSubSubscribeByPattern',
|
||||
'punsubscribe' => 'Predis\Command\PubSubUnsubscribeByPattern',
|
||||
'publish' => 'Predis\Command\PubSubPublish',
|
||||
|
||||
/* remote server control commands */
|
||||
'config' => 'Predis\Command\ServerConfig',
|
||||
|
||||
/* ---------------- Redis 2.2 ---------------- */
|
||||
|
||||
/* commands operating on the key space */
|
||||
'persist' => 'Predis\Command\KeyPersist',
|
||||
|
||||
/* commands operating on string values */
|
||||
'strlen' => 'Predis\Command\StringStrlen',
|
||||
'setrange' => 'Predis\Command\StringSetRange',
|
||||
'getrange' => 'Predis\Command\StringGetRange',
|
||||
'setbit' => 'Predis\Command\StringSetBit',
|
||||
'getbit' => 'Predis\Command\StringGetBit',
|
||||
|
||||
/* commands operating on lists */
|
||||
'rpushx' => 'Predis\Command\ListPushTailX',
|
||||
'lpushx' => 'Predis\Command\ListPushHeadX',
|
||||
'linsert' => 'Predis\Command\ListInsert',
|
||||
'brpoplpush' => 'Predis\Command\ListPopLastPushHeadBlocking',
|
||||
|
||||
/* commands operating on sorted sets */
|
||||
'zrevrangebyscore' => 'Predis\Command\ZSetReverseRangeByScore',
|
||||
|
||||
/* transactions */
|
||||
'watch' => 'Predis\Command\TransactionWatch',
|
||||
'unwatch' => 'Predis\Command\TransactionUnwatch',
|
||||
|
||||
/* remote server control commands */
|
||||
'object' => 'Predis\Command\ServerObject',
|
||||
'slowlog' => 'Predis\Command\ServerSlowlog',
|
||||
|
||||
/* ---------------- Redis 2.4 ---------------- */
|
||||
|
||||
/* remote server control commands */
|
||||
'client' => 'Predis\Command\ServerClient',
|
||||
);
|
||||
}
|
||||
}
|
||||
233
Predis/Profile/ServerVersion26.php
Normal file
233
Predis/Profile/ServerVersion26.php
Normal file
|
|
@ -0,0 +1,233 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Predis package.
|
||||
*
|
||||
* (c) Daniele Alessandri <suppakilla@gmail.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Predis\Profile;
|
||||
|
||||
/**
|
||||
* Server profile for Redis v2.6.x.
|
||||
*
|
||||
* @author Daniele Alessandri <suppakilla@gmail.com>
|
||||
*/
|
||||
class ServerVersion26 extends ServerProfile
|
||||
{
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getVersion()
|
||||
{
|
||||
return '2.6';
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getSupportedCommands()
|
||||
{
|
||||
return array(
|
||||
/* ---------------- Redis 1.2 ---------------- */
|
||||
|
||||
/* commands operating on the key space */
|
||||
'exists' => 'Predis\Command\KeyExists',
|
||||
'del' => 'Predis\Command\KeyDelete',
|
||||
'type' => 'Predis\Command\KeyType',
|
||||
'keys' => 'Predis\Command\KeyKeys',
|
||||
'randomkey' => 'Predis\Command\KeyRandom',
|
||||
'rename' => 'Predis\Command\KeyRename',
|
||||
'renamenx' => 'Predis\Command\KeyRenamePreserve',
|
||||
'expire' => 'Predis\Command\KeyExpire',
|
||||
'expireat' => 'Predis\Command\KeyExpireAt',
|
||||
'ttl' => 'Predis\Command\KeyTimeToLive',
|
||||
'move' => 'Predis\Command\KeyMove',
|
||||
'sort' => 'Predis\Command\KeySort',
|
||||
'dump' => 'Predis\Command\KeyDump',
|
||||
'restore' => 'Predis\Command\KeyRestore',
|
||||
|
||||
/* commands operating on string values */
|
||||
'set' => 'Predis\Command\StringSet',
|
||||
'setnx' => 'Predis\Command\StringSetPreserve',
|
||||
'mset' => 'Predis\Command\StringSetMultiple',
|
||||
'msetnx' => 'Predis\Command\StringSetMultiplePreserve',
|
||||
'get' => 'Predis\Command\StringGet',
|
||||
'mget' => 'Predis\Command\StringGetMultiple',
|
||||
'getset' => 'Predis\Command\StringGetSet',
|
||||
'incr' => 'Predis\Command\StringIncrement',
|
||||
'incrby' => 'Predis\Command\StringIncrementBy',
|
||||
'decr' => 'Predis\Command\StringDecrement',
|
||||
'decrby' => 'Predis\Command\StringDecrementBy',
|
||||
|
||||
/* commands operating on lists */
|
||||
'rpush' => 'Predis\Command\ListPushTail',
|
||||
'lpush' => 'Predis\Command\ListPushHead',
|
||||
'llen' => 'Predis\Command\ListLength',
|
||||
'lrange' => 'Predis\Command\ListRange',
|
||||
'ltrim' => 'Predis\Command\ListTrim',
|
||||
'lindex' => 'Predis\Command\ListIndex',
|
||||
'lset' => 'Predis\Command\ListSet',
|
||||
'lrem' => 'Predis\Command\ListRemove',
|
||||
'lpop' => 'Predis\Command\ListPopFirst',
|
||||
'rpop' => 'Predis\Command\ListPopLast',
|
||||
'rpoplpush' => 'Predis\Command\ListPopLastPushHead',
|
||||
|
||||
/* commands operating on sets */
|
||||
'sadd' => 'Predis\Command\SetAdd',
|
||||
'srem' => 'Predis\Command\SetRemove',
|
||||
'spop' => 'Predis\Command\SetPop',
|
||||
'smove' => 'Predis\Command\SetMove',
|
||||
'scard' => 'Predis\Command\SetCardinality',
|
||||
'sismember' => 'Predis\Command\SetIsMember',
|
||||
'sinter' => 'Predis\Command\SetIntersection',
|
||||
'sinterstore' => 'Predis\Command\SetIntersectionStore',
|
||||
'sunion' => 'Predis\Command\SetUnion',
|
||||
'sunionstore' => 'Predis\Command\SetUnionStore',
|
||||
'sdiff' => 'Predis\Command\SetDifference',
|
||||
'sdiffstore' => 'Predis\Command\SetDifferenceStore',
|
||||
'smembers' => 'Predis\Command\SetMembers',
|
||||
'srandmember' => 'Predis\Command\SetRandomMember',
|
||||
|
||||
/* commands operating on sorted sets */
|
||||
'zadd' => 'Predis\Command\ZSetAdd',
|
||||
'zincrby' => 'Predis\Command\ZSetIncrementBy',
|
||||
'zrem' => 'Predis\Command\ZSetRemove',
|
||||
'zrange' => 'Predis\Command\ZSetRange',
|
||||
'zrevrange' => 'Predis\Command\ZSetReverseRange',
|
||||
'zrangebyscore' => 'Predis\Command\ZSetRangeByScore',
|
||||
'zcard' => 'Predis\Command\ZSetCardinality',
|
||||
'zscore' => 'Predis\Command\ZSetScore',
|
||||
'zremrangebyscore' => 'Predis\Command\ZSetRemoveRangeByScore',
|
||||
|
||||
/* connection related commands */
|
||||
'ping' => 'Predis\Command\ConnectionPing',
|
||||
'auth' => 'Predis\Command\ConnectionAuth',
|
||||
'select' => 'Predis\Command\ConnectionSelect',
|
||||
'echo' => 'Predis\Command\ConnectionEcho',
|
||||
'quit' => 'Predis\Command\ConnectionQuit',
|
||||
|
||||
/* remote server control commands */
|
||||
'info' => 'Predis\Command\ServerInfoV26x',
|
||||
'slaveof' => 'Predis\Command\ServerSlaveOf',
|
||||
'monitor' => 'Predis\Command\ServerMonitor',
|
||||
'dbsize' => 'Predis\Command\ServerDatabaseSize',
|
||||
'flushdb' => 'Predis\Command\ServerFlushDatabase',
|
||||
'flushall' => 'Predis\Command\ServerFlushAll',
|
||||
'save' => 'Predis\Command\ServerSave',
|
||||
'bgsave' => 'Predis\Command\ServerBackgroundSave',
|
||||
'lastsave' => 'Predis\Command\ServerLastSave',
|
||||
'shutdown' => 'Predis\Command\ServerShutdown',
|
||||
'bgrewriteaof' => 'Predis\Command\ServerBackgroundRewriteAOF',
|
||||
|
||||
/* ---------------- Redis 2.0 ---------------- */
|
||||
|
||||
/* commands operating on string values */
|
||||
'setex' => 'Predis\Command\StringSetExpire',
|
||||
'append' => 'Predis\Command\StringAppend',
|
||||
'substr' => 'Predis\Command\StringSubstr',
|
||||
|
||||
/* commands operating on lists */
|
||||
'blpop' => 'Predis\Command\ListPopFirstBlocking',
|
||||
'brpop' => 'Predis\Command\ListPopLastBlocking',
|
||||
|
||||
/* commands operating on sorted sets */
|
||||
'zunionstore' => 'Predis\Command\ZSetUnionStore',
|
||||
'zinterstore' => 'Predis\Command\ZSetIntersectionStore',
|
||||
'zcount' => 'Predis\Command\ZSetCount',
|
||||
'zrank' => 'Predis\Command\ZSetRank',
|
||||
'zrevrank' => 'Predis\Command\ZSetReverseRank',
|
||||
'zremrangebyrank' => 'Predis\Command\ZSetRemoveRangeByRank',
|
||||
|
||||
/* commands operating on hashes */
|
||||
'hset' => 'Predis\Command\HashSet',
|
||||
'hsetnx' => 'Predis\Command\HashSetPreserve',
|
||||
'hmset' => 'Predis\Command\HashSetMultiple',
|
||||
'hincrby' => 'Predis\Command\HashIncrementBy',
|
||||
'hget' => 'Predis\Command\HashGet',
|
||||
'hmget' => 'Predis\Command\HashGetMultiple',
|
||||
'hdel' => 'Predis\Command\HashDelete',
|
||||
'hexists' => 'Predis\Command\HashExists',
|
||||
'hlen' => 'Predis\Command\HashLength',
|
||||
'hkeys' => 'Predis\Command\HashKeys',
|
||||
'hvals' => 'Predis\Command\HashValues',
|
||||
'hgetall' => 'Predis\Command\HashGetAll',
|
||||
|
||||
/* transactions */
|
||||
'multi' => 'Predis\Command\TransactionMulti',
|
||||
'exec' => 'Predis\Command\TransactionExec',
|
||||
'discard' => 'Predis\Command\TransactionDiscard',
|
||||
|
||||
/* publish - subscribe */
|
||||
'subscribe' => 'Predis\Command\PubSubSubscribe',
|
||||
'unsubscribe' => 'Predis\Command\PubSubUnsubscribe',
|
||||
'psubscribe' => 'Predis\Command\PubSubSubscribeByPattern',
|
||||
'punsubscribe' => 'Predis\Command\PubSubUnsubscribeByPattern',
|
||||
'publish' => 'Predis\Command\PubSubPublish',
|
||||
|
||||
/* remote server control commands */
|
||||
'config' => 'Predis\Command\ServerConfig',
|
||||
|
||||
/* ---------------- Redis 2.2 ---------------- */
|
||||
|
||||
/* commands operating on the key space */
|
||||
'persist' => 'Predis\Command\KeyPersist',
|
||||
|
||||
/* commands operating on string values */
|
||||
'strlen' => 'Predis\Command\StringStrlen',
|
||||
'setrange' => 'Predis\Command\StringSetRange',
|
||||
'getrange' => 'Predis\Command\StringGetRange',
|
||||
'setbit' => 'Predis\Command\StringSetBit',
|
||||
'getbit' => 'Predis\Command\StringGetBit',
|
||||
|
||||
/* commands operating on lists */
|
||||
'rpushx' => 'Predis\Command\ListPushTailX',
|
||||
'lpushx' => 'Predis\Command\ListPushHeadX',
|
||||
'linsert' => 'Predis\Command\ListInsert',
|
||||
'brpoplpush' => 'Predis\Command\ListPopLastPushHeadBlocking',
|
||||
|
||||
/* commands operating on sorted sets */
|
||||
'zrevrangebyscore' => 'Predis\Command\ZSetReverseRangeByScore',
|
||||
|
||||
/* transactions */
|
||||
'watch' => 'Predis\Command\TransactionWatch',
|
||||
'unwatch' => 'Predis\Command\TransactionUnwatch',
|
||||
|
||||
/* remote server control commands */
|
||||
'object' => 'Predis\Command\ServerObject',
|
||||
'slowlog' => 'Predis\Command\ServerSlowlog',
|
||||
|
||||
/* ---------------- Redis 2.4 ---------------- */
|
||||
|
||||
/* remote server control commands */
|
||||
'client' => 'Predis\Command\ServerClient',
|
||||
|
||||
/* ---------------- Redis 2.6 ---------------- */
|
||||
|
||||
/* commands operating on the key space */
|
||||
'pttl' => 'Predis\Command\KeyPreciseTimeToLive',
|
||||
'pexpire' => 'Predis\Command\KeyPreciseExpire',
|
||||
'pexpireat' => 'Predis\Command\KeyPreciseExpireAt',
|
||||
|
||||
/* commands operating on string values */
|
||||
'psetex' => 'Predis\Command\StringPreciseSetExpire',
|
||||
'incrbyfloat' => 'Predis\Command\StringIncrementByFloat',
|
||||
'bitop' => 'Predis\Command\StringBitOp',
|
||||
'bitcount' => 'Predis\Command\StringBitCount',
|
||||
|
||||
/* commands operating on hashes */
|
||||
'hincrbyfloat' => 'Predis\Command\HashIncrementByFloat',
|
||||
|
||||
/* scripting */
|
||||
'eval' => 'Predis\Command\ServerEval',
|
||||
'evalsha' => 'Predis\Command\ServerEvalSHA',
|
||||
'script' => 'Predis\Command\ServerScript',
|
||||
|
||||
/* remote server control commands */
|
||||
'time' => 'Predis\Command\ServerTime',
|
||||
);
|
||||
}
|
||||
}
|
||||
247
Predis/Profile/ServerVersion28.php
Normal file
247
Predis/Profile/ServerVersion28.php
Normal file
|
|
@ -0,0 +1,247 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Predis package.
|
||||
*
|
||||
* (c) Daniele Alessandri <suppakilla@gmail.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Predis\Profile;
|
||||
|
||||
/**
|
||||
* Server profile for Redis v2.8.x.
|
||||
*
|
||||
* @author Daniele Alessandri <suppakilla@gmail.com>
|
||||
*/
|
||||
class ServerVersion28 extends ServerProfile
|
||||
{
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getVersion()
|
||||
{
|
||||
return '2.8';
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getSupportedCommands()
|
||||
{
|
||||
return array(
|
||||
/* ---------------- Redis 1.2 ---------------- */
|
||||
|
||||
/* commands operating on the key space */
|
||||
'exists' => 'Predis\Command\KeyExists',
|
||||
'del' => 'Predis\Command\KeyDelete',
|
||||
'type' => 'Predis\Command\KeyType',
|
||||
'keys' => 'Predis\Command\KeyKeys',
|
||||
'randomkey' => 'Predis\Command\KeyRandom',
|
||||
'rename' => 'Predis\Command\KeyRename',
|
||||
'renamenx' => 'Predis\Command\KeyRenamePreserve',
|
||||
'expire' => 'Predis\Command\KeyExpire',
|
||||
'expireat' => 'Predis\Command\KeyExpireAt',
|
||||
'ttl' => 'Predis\Command\KeyTimeToLive',
|
||||
'move' => 'Predis\Command\KeyMove',
|
||||
'sort' => 'Predis\Command\KeySort',
|
||||
'dump' => 'Predis\Command\KeyDump',
|
||||
'restore' => 'Predis\Command\KeyRestore',
|
||||
|
||||
/* commands operating on string values */
|
||||
'set' => 'Predis\Command\StringSet',
|
||||
'setnx' => 'Predis\Command\StringSetPreserve',
|
||||
'mset' => 'Predis\Command\StringSetMultiple',
|
||||
'msetnx' => 'Predis\Command\StringSetMultiplePreserve',
|
||||
'get' => 'Predis\Command\StringGet',
|
||||
'mget' => 'Predis\Command\StringGetMultiple',
|
||||
'getset' => 'Predis\Command\StringGetSet',
|
||||
'incr' => 'Predis\Command\StringIncrement',
|
||||
'incrby' => 'Predis\Command\StringIncrementBy',
|
||||
'decr' => 'Predis\Command\StringDecrement',
|
||||
'decrby' => 'Predis\Command\StringDecrementBy',
|
||||
|
||||
/* commands operating on lists */
|
||||
'rpush' => 'Predis\Command\ListPushTail',
|
||||
'lpush' => 'Predis\Command\ListPushHead',
|
||||
'llen' => 'Predis\Command\ListLength',
|
||||
'lrange' => 'Predis\Command\ListRange',
|
||||
'ltrim' => 'Predis\Command\ListTrim',
|
||||
'lindex' => 'Predis\Command\ListIndex',
|
||||
'lset' => 'Predis\Command\ListSet',
|
||||
'lrem' => 'Predis\Command\ListRemove',
|
||||
'lpop' => 'Predis\Command\ListPopFirst',
|
||||
'rpop' => 'Predis\Command\ListPopLast',
|
||||
'rpoplpush' => 'Predis\Command\ListPopLastPushHead',
|
||||
|
||||
/* commands operating on sets */
|
||||
'sadd' => 'Predis\Command\SetAdd',
|
||||
'srem' => 'Predis\Command\SetRemove',
|
||||
'spop' => 'Predis\Command\SetPop',
|
||||
'smove' => 'Predis\Command\SetMove',
|
||||
'scard' => 'Predis\Command\SetCardinality',
|
||||
'sismember' => 'Predis\Command\SetIsMember',
|
||||
'sinter' => 'Predis\Command\SetIntersection',
|
||||
'sinterstore' => 'Predis\Command\SetIntersectionStore',
|
||||
'sunion' => 'Predis\Command\SetUnion',
|
||||
'sunionstore' => 'Predis\Command\SetUnionStore',
|
||||
'sdiff' => 'Predis\Command\SetDifference',
|
||||
'sdiffstore' => 'Predis\Command\SetDifferenceStore',
|
||||
'smembers' => 'Predis\Command\SetMembers',
|
||||
'srandmember' => 'Predis\Command\SetRandomMember',
|
||||
|
||||
/* commands operating on sorted sets */
|
||||
'zadd' => 'Predis\Command\ZSetAdd',
|
||||
'zincrby' => 'Predis\Command\ZSetIncrementBy',
|
||||
'zrem' => 'Predis\Command\ZSetRemove',
|
||||
'zrange' => 'Predis\Command\ZSetRange',
|
||||
'zrevrange' => 'Predis\Command\ZSetReverseRange',
|
||||
'zrangebyscore' => 'Predis\Command\ZSetRangeByScore',
|
||||
'zcard' => 'Predis\Command\ZSetCardinality',
|
||||
'zscore' => 'Predis\Command\ZSetScore',
|
||||
'zremrangebyscore' => 'Predis\Command\ZSetRemoveRangeByScore',
|
||||
|
||||
/* connection related commands */
|
||||
'ping' => 'Predis\Command\ConnectionPing',
|
||||
'auth' => 'Predis\Command\ConnectionAuth',
|
||||
'select' => 'Predis\Command\ConnectionSelect',
|
||||
'echo' => 'Predis\Command\ConnectionEcho',
|
||||
'quit' => 'Predis\Command\ConnectionQuit',
|
||||
|
||||
/* remote server control commands */
|
||||
'info' => 'Predis\Command\ServerInfoV26x',
|
||||
'slaveof' => 'Predis\Command\ServerSlaveOf',
|
||||
'monitor' => 'Predis\Command\ServerMonitor',
|
||||
'dbsize' => 'Predis\Command\ServerDatabaseSize',
|
||||
'flushdb' => 'Predis\Command\ServerFlushDatabase',
|
||||
'flushall' => 'Predis\Command\ServerFlushAll',
|
||||
'save' => 'Predis\Command\ServerSave',
|
||||
'bgsave' => 'Predis\Command\ServerBackgroundSave',
|
||||
'lastsave' => 'Predis\Command\ServerLastSave',
|
||||
'shutdown' => 'Predis\Command\ServerShutdown',
|
||||
'bgrewriteaof' => 'Predis\Command\ServerBackgroundRewriteAOF',
|
||||
|
||||
/* ---------------- Redis 2.0 ---------------- */
|
||||
|
||||
/* commands operating on string values */
|
||||
'setex' => 'Predis\Command\StringSetExpire',
|
||||
'append' => 'Predis\Command\StringAppend',
|
||||
'substr' => 'Predis\Command\StringSubstr',
|
||||
|
||||
/* commands operating on lists */
|
||||
'blpop' => 'Predis\Command\ListPopFirstBlocking',
|
||||
'brpop' => 'Predis\Command\ListPopLastBlocking',
|
||||
|
||||
/* commands operating on sorted sets */
|
||||
'zunionstore' => 'Predis\Command\ZSetUnionStore',
|
||||
'zinterstore' => 'Predis\Command\ZSetIntersectionStore',
|
||||
'zcount' => 'Predis\Command\ZSetCount',
|
||||
'zrank' => 'Predis\Command\ZSetRank',
|
||||
'zrevrank' => 'Predis\Command\ZSetReverseRank',
|
||||
'zremrangebyrank' => 'Predis\Command\ZSetRemoveRangeByRank',
|
||||
|
||||
/* commands operating on hashes */
|
||||
'hset' => 'Predis\Command\HashSet',
|
||||
'hsetnx' => 'Predis\Command\HashSetPreserve',
|
||||
'hmset' => 'Predis\Command\HashSetMultiple',
|
||||
'hincrby' => 'Predis\Command\HashIncrementBy',
|
||||
'hget' => 'Predis\Command\HashGet',
|
||||
'hmget' => 'Predis\Command\HashGetMultiple',
|
||||
'hdel' => 'Predis\Command\HashDelete',
|
||||
'hexists' => 'Predis\Command\HashExists',
|
||||
'hlen' => 'Predis\Command\HashLength',
|
||||
'hkeys' => 'Predis\Command\HashKeys',
|
||||
'hvals' => 'Predis\Command\HashValues',
|
||||
'hgetall' => 'Predis\Command\HashGetAll',
|
||||
|
||||
/* transactions */
|
||||
'multi' => 'Predis\Command\TransactionMulti',
|
||||
'exec' => 'Predis\Command\TransactionExec',
|
||||
'discard' => 'Predis\Command\TransactionDiscard',
|
||||
|
||||
/* publish - subscribe */
|
||||
'subscribe' => 'Predis\Command\PubSubSubscribe',
|
||||
'unsubscribe' => 'Predis\Command\PubSubUnsubscribe',
|
||||
'psubscribe' => 'Predis\Command\PubSubSubscribeByPattern',
|
||||
'punsubscribe' => 'Predis\Command\PubSubUnsubscribeByPattern',
|
||||
'publish' => 'Predis\Command\PubSubPublish',
|
||||
|
||||
/* remote server control commands */
|
||||
'config' => 'Predis\Command\ServerConfig',
|
||||
|
||||
/* ---------------- Redis 2.2 ---------------- */
|
||||
|
||||
/* commands operating on the key space */
|
||||
'persist' => 'Predis\Command\KeyPersist',
|
||||
|
||||
/* commands operating on string values */
|
||||
'strlen' => 'Predis\Command\StringStrlen',
|
||||
'setrange' => 'Predis\Command\StringSetRange',
|
||||
'getrange' => 'Predis\Command\StringGetRange',
|
||||
'setbit' => 'Predis\Command\StringSetBit',
|
||||
'getbit' => 'Predis\Command\StringGetBit',
|
||||
|
||||
/* commands operating on lists */
|
||||
'rpushx' => 'Predis\Command\ListPushTailX',
|
||||
'lpushx' => 'Predis\Command\ListPushHeadX',
|
||||
'linsert' => 'Predis\Command\ListInsert',
|
||||
'brpoplpush' => 'Predis\Command\ListPopLastPushHeadBlocking',
|
||||
|
||||
/* commands operating on sorted sets */
|
||||
'zrevrangebyscore' => 'Predis\Command\ZSetReverseRangeByScore',
|
||||
|
||||
/* transactions */
|
||||
'watch' => 'Predis\Command\TransactionWatch',
|
||||
'unwatch' => 'Predis\Command\TransactionUnwatch',
|
||||
|
||||
/* remote server control commands */
|
||||
'object' => 'Predis\Command\ServerObject',
|
||||
'slowlog' => 'Predis\Command\ServerSlowlog',
|
||||
|
||||
/* ---------------- Redis 2.4 ---------------- */
|
||||
|
||||
/* remote server control commands */
|
||||
'client' => 'Predis\Command\ServerClient',
|
||||
|
||||
/* ---------------- Redis 2.6 ---------------- */
|
||||
|
||||
/* commands operating on the key space */
|
||||
'pttl' => 'Predis\Command\KeyPreciseTimeToLive',
|
||||
'pexpire' => 'Predis\Command\KeyPreciseExpire',
|
||||
'pexpireat' => 'Predis\Command\KeyPreciseExpireAt',
|
||||
|
||||
/* commands operating on string values */
|
||||
'psetex' => 'Predis\Command\StringPreciseSetExpire',
|
||||
'incrbyfloat' => 'Predis\Command\StringIncrementByFloat',
|
||||
'bitop' => 'Predis\Command\StringBitOp',
|
||||
'bitcount' => 'Predis\Command\StringBitCount',
|
||||
|
||||
/* commands operating on hashes */
|
||||
'hincrbyfloat' => 'Predis\Command\HashIncrementByFloat',
|
||||
|
||||
/* scripting */
|
||||
'eval' => 'Predis\Command\ServerEval',
|
||||
'evalsha' => 'Predis\Command\ServerEvalSHA',
|
||||
'script' => 'Predis\Command\ServerScript',
|
||||
|
||||
/* remote server control commands */
|
||||
'time' => 'Predis\Command\ServerTime',
|
||||
|
||||
/* ---------------- Redis 2.8 ---------------- */
|
||||
|
||||
/* commands operating on the key space */
|
||||
'scan' => 'Predis\Command\KeyScan',
|
||||
|
||||
/* commands operating on sets */
|
||||
'sscan' => 'Predis\Command\SetScan',
|
||||
|
||||
/* commands operating on sorted sets */
|
||||
'zscan' => 'Predis\Command\ZSetScan',
|
||||
|
||||
/* commands operating on hashes */
|
||||
'hscan' => 'Predis\Command\HashScan',
|
||||
);
|
||||
}
|
||||
}
|
||||
36
Predis/Profile/ServerVersionNext.php
Normal file
36
Predis/Profile/ServerVersionNext.php
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Predis package.
|
||||
*
|
||||
* (c) Daniele Alessandri <suppakilla@gmail.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Predis\Profile;
|
||||
|
||||
/**
|
||||
* Server profile for the current unstable version of Redis.
|
||||
*
|
||||
* @author Daniele Alessandri <suppakilla@gmail.com>
|
||||
*/
|
||||
class ServerVersionNext extends ServerVersion28
|
||||
{
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getVersion()
|
||||
{
|
||||
return '3.0';
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getSupportedCommands()
|
||||
{
|
||||
return array_merge(parent::getSupportedCommands(), array());
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue