Commit Graph

290 Commits

Author SHA1 Message Date
Daniele Alessandri 7d447f8493 More appropriate type-check to detect clustered connections. 2010-07-02 22:38:16 +02:00
Daniele Alessandri 9f21f5a635 Code formatting. 2010-07-02 22:29:47 +02:00
Daniele Alessandri 2af73f4fa1 Deprecate long method names for Redis commands and move them into new server profiles available in the Predis_Compatibility.php file. 2010-07-02 21:52:56 +02:00
Daniele Alessandri a4df829b19 Deprecate Predis\InlineCommand and Predis\BulkCommand. Those classes are made available through the Predis_Compatibility.php file. 2010-07-02 20:58:15 +02:00
Daniele Alessandri 1bb04baf78 Merge branch 'version-0.6'
Conflicts:
	lib/Predis.php
2010-07-02 20:51:18 +02:00
Daniele Alessandri 50970c003b Accept instances of Predis\ConnectionParameters in Predis\Client::__construct(). 2010-06-30 16:17:19 +02:00
Daniele Alessandri 3853e62d34 Make sure that Predis\MultiExecBlock and Predis\PubSubContext are not initialized over a cluster of connections. 2010-06-29 20:07:57 +02:00
Daniele Alessandri ed105ab4fc Centralize code used to check if a connection object instance is a cluster of connections. 2010-06-29 20:07:51 +02:00
Daniele Alessandri adb489b4d3 Internal optimizations for the Predis\PubSubContext class. 2010-06-29 14:39:24 +02:00
Daniele Alessandri 5cf10ddbfa Add support for variable arguments in Predis\Client::pipeline(). 2010-06-26 12:49:57 +02:00
Daniele Alessandri 5defb14698 Merge branch 'connections' 2010-06-24 17:23:01 +02:00
Daniele Alessandri ac2b718387 Handle aborted MULTI/EXEC transactions. 2010-06-12 10:52:45 +02:00
Daniele Alessandri 89e46912a2 Add support for variable arguments in Predis\Client::multiExec(). 2010-06-12 10:40:28 +02:00
Daniele Alessandri 200d864df3 Parse WATCH and UNWATCH replies as boolean values. 2010-06-12 10:12:07 +02:00
Daniele Alessandri 35b8588dc4 Check for the capabilities of the passed client instance when initializing a \Predis\PubSubContext instance. 2010-06-12 10:06:13 +02:00
Daniele Alessandri 371a7ad69b Less code duplication please. 2010-06-12 09:59:20 +02:00
Daniele Alessandri 5ae476ee16 Check for the capabilities of the passed client instance when initializing a \Predis\MultiExecBlock instance. 2010-06-12 09:52:32 +02:00
Daniele Alessandri f4f19ace0a Adopt more consistent behaviours for \Predis\MultiExecBlock. 2010-06-12 09:27:59 +02:00
Daniele Alessandri 50092d1421 Start adding support for WATCH/UNWATCH to \Predis\MultiExecBlock. 2010-06-12 08:57:42 +02:00
Daniele Alessandri 5287bb2387 New commands: WATCH and UNWATCH (Redis v2.2-dev). 2010-06-12 08:16:00 +02:00
Daniele Alessandri 66a0458018 Leverage the global connection creator facility to alias the 'redis' scheme to the 'tcp' scheme. 2010-06-10 20:37:34 +02:00
Daniele Alessandri 2543bb30cc Map URI schemes to connection classes. 2010-06-10 19:47:40 +02:00
Daniele Alessandri 1fd715e7a5 Prepare to return the appropriate instance of Predis\IConnectionSingle based on the URI scheme. 2010-06-10 11:47:09 +02:00
Daniele Alessandri e191d0a7ce Add required methods to Predis\IConnectionSingle and Predis\IConnectionCluster interfaces. 2010-06-10 11:26:12 +02:00
Daniele Alessandri a2c9cb38a5 Accept the 'scheme' argument for Predis\ConnectionParameters. The 'redis' scheme is now an alias of 'tcp' for compatibility with older versions of Predis. 2010-06-10 11:19:14 +02:00
Daniele Alessandri 72c41a25cb Rename Predis\Connection to Predis\TcpConnection. 2010-06-10 10:40:09 +02:00
Daniele Alessandri b5a6c4e5c3 The Connection class now implements the new IConnectionSingle interface. Guess what is about to happen... 2010-06-09 20:56:25 +02:00
Daniele Alessandri dd07c12402 Clean up leftovers. 2010-06-09 19:10:10 +02:00
Daniele Alessandri 42aa8333fc Slight optimization for multibulk replies. 2010-06-09 19:06:04 +02:00
Daniele Alessandri 25ac5c3ca4 Make Predis\Command::getArguments() a public method. 2010-06-09 19:04:31 +02:00
Daniele Alessandri 0e69438c0b Remove dots at the end of exception messages. 2010-05-23 09:08:55 +02:00
Daniele Alessandri 761e3a2527 Add an optional argument to MultiBulkResponseIterator::sync() to specify if the synchronization of an iterable multibulk response should be performed by consuming the rest of the reply or by closing the underlying connection. 2010-05-23 09:03:17 +02:00
Daniele Alessandri 316d3de10e Add static method Predis\RedisServerProfile::getDevelopment() to create a new instance of the 'dev' server profile. 2010-05-23 08:47:29 +02:00
Daniele Alessandri 5757318c9b Remove Predis\RedisServerProfile::compareWith() since it is useless and it is broken anyway. 2010-05-23 08:45:22 +02:00
Daniele Alessandri c781e91c2e Fix typos. 2010-05-22 16:10:17 +02:00
Daniele Alessandri 9f21cb12a2 Rename Predis\Distribution\IDistributionAlgorithm to Predis\Distribution\IDistributionStrategy. 2010-05-22 14:32:29 +02:00
Daniele Alessandri 69a0ed6d2f Suppress PHP notices in Predis\ConnectionCluster::getConnectionById() if the specified connection alias/index does not exist. 2010-05-22 12:27:14 +02:00
Daniele Alessandri 1f663f06be Implement Predis\Client::getClientFor() to initialize a new client from a single connection of a cluster by its alias. 2010-05-22 12:22:34 +02:00
Daniele Alessandri 5427bdcf22 Fast fail on exceptions different than Predis\ServerException or Predis\CommunicationException. 2010-05-22 11:56:45 +02:00
Daniele Alessandri 6c512784cb Merge branch 'pipeline_partial_failures'
Conflicts:
	lib/Predis.php
2010-05-22 11:34:57 +02:00
Daniele Alessandri e70b8ed38b Fix an old but harmless glitch in the serialization of inline commands with 0 arguments. 2010-05-21 21:10:34 +02:00
Daniele Alessandri 40d5b04278 Change the behavior of a test and add a reminder for a later in-depth examination of alternatives. 2010-05-21 21:02:09 +02:00
Daniele Alessandri f0d2551244 Fix a wrong namespace path in SafeExecutor::execute(). 2010-05-21 20:34:20 +02:00
Daniele Alessandri 4c8ecc02e5 Force disconnection in Predis\Pipeline\StandardExecutor when a Predis\ServerException is thrown to prevent protocol desynchronization between the client and the server. 2010-05-21 20:31:40 +02:00
Daniele Alessandri 84cb28e3ac Merge branch 'pubsub_experimental' 2010-05-18 12:25:10 +02:00
Daniele Alessandri 6e321a3530 Add the Predis\Client::pubSubContext() method to initialize a PubSub context from a client instance. 2010-05-18 12:23:53 +02:00
Daniele Alessandri 658272fe4b Fix wrong namespace path for EmptyRingException. 2010-05-18 11:46:42 +02:00
Daniele Alessandri fa6400dc22 Rename the \Predis\Utilities namespace to \Predis\Shared. 2010-05-17 20:05:10 +02:00
Daniele Alessandri 376dfe3451 Move IDistributionAlgorithm, HashRing and KetamaPureRing to the new Predis\Distribution namespace. 2010-05-17 19:59:54 +02:00
Daniele Alessandri a26932b3b5 Throw a more appropriate InvalidArgumentException when a non-callable argument is passed to instances of Predis\CommandPipeline and Predis\MultiExecBlock. 2010-05-17 19:46:28 +02:00