Commit Graph

36 Commits

Author SHA1 Message Date
Daniele Alessandri ca7f3e294c Removed the rather superfluous private method ConnectionCluster::getConnectionFromRing. 2009-12-18 20:48:04 +01:00
Daniele Alessandri bcfa64f431 Moved the hash calculation for a command from ConnectionCluster to the command instance itself. 2009-12-18 20:43:35 +01:00
Daniele Alessandri 3428529be6 Client::executeCommandInternal must accept IConnection types! Stupid bugs are indeed stupid. 2009-12-16 00:23:55 +01:00
Daniele Alessandri b1edc31af3 When using a ConnectionCluster (sharding data over multiple servers), disallow sending commands that cannot be hashed by a key argument. 2009-12-14 18:15:10 +01:00
Daniele Alessandri 344ec44059 Refactored Client::executeCommand and introduced the new method Client::executeCommandOnShards which is useful to execute commands on all the connections registered in a ConnectionCluster instance. 2009-12-14 18:02:54 +01:00
Daniele Alessandri 8d4958a516 The second parameter for Client::createCommandInstance is now optional. 2009-12-14 17:57:17 +01:00
Daniele Alessandri b777daa535 Slightly improved the internals of Command::getArgument and Command::getArguments. 2009-12-14 17:54:11 +01:00
Daniele Alessandri 177120e1a2 The private method computeHash of ConnectionCluster is now a static method. 2009-12-14 17:47:10 +01:00
Daniele Alessandri a84c9bdac7 ConnectionCluster now implements the IteratorAggregate interface, thus enabling iterations over the registered connections simply by using a foreach loop. 2009-12-14 17:43:30 +01:00
Daniele Alessandri 755c252fde Fixed a small bug in which the short alias for \Predis\Commands\Decrement was wrongly set to 'incr' instead of 'decr' (thanks to Jeff lewwid{at}gmail.com for noticing). The test suite is flawed in this respect since it uses only the extended aliases for commands but the short ones are not checked for correctness. 2009-12-03 21:47:48 +01:00
Daniele Alessandri c1fb041014 Merge branch 'pipeline'
Conflicts:
	lib/Predis.php
2009-11-29 11:13:50 +01:00
Daniele Alessandri d99b6e1213 Merge branch 'parameters' 2009-11-29 11:11:43 +01:00
Daniele Alessandri 8480019b2a Removed leftovers from the old pipeline implementation. 2009-11-28 14:24:00 +01:00
Daniele Alessandri 45be8e6385 Reworked a bit the internals of Predis\Client::create(). 2009-11-28 13:20:01 +01:00
Daniele Alessandri 6bd7ef9217 Made the constructor method of Predis\Client more flexible with the passed arguments. 2009-11-28 13:09:49 +01:00
Daniele Alessandri bb81971d71 Fix for a possible notice message thrown by PHP when there is no query string in the URI used to create a ConnectionParameters instance. 2009-11-28 12:24:15 +01:00
Daniele Alessandri 904278f927 Refactored out in a new method of ConnectionParameters the code to get the value of a parameter or a default value if the same parameter is not set. This also fixes a few PHP notice messages. 2009-11-28 11:46:59 +01:00
Daniele Alessandri 0adcd39486 Pipelines can now be initialized and used even without an anonymous function block. This is also needed to get pipelining support backported to PHP 5.2. 2009-11-28 11:18:34 +01:00
Daniele Alessandri f727c6aa69 Fixed a bug when reading large bulk replies from remote Redis instances 2009-11-21 18:24:59 +01:00
Daniele Alessandri 374070a2c1 Renamed the class ListPushTailPopFirst into ListPopLastPushHead (did the same for it registered alias), the former name was incorrect 2009-11-20 23:15:36 +01:00
Daniele Alessandri 768c211ddd Merge branch 'cmd_lpoppush' 2009-11-20 22:10:33 +01:00
Daniele Alessandri afa72fceb2 Improved the parser for responses to INFO commands 2009-11-12 14:38:01 +01:00
Daniele Alessandri 59fafbb68b Renamed LPOPPUSH to RPOPLPUSH 2009-11-12 14:07:25 +01:00
Daniele Alessandri d1f6658a3d Implemented LPOPPUSH (Class: \Predis\Commands\ListPopPush) 2009-11-11 21:50:22 +01:00
Daniele Alessandri 1a8f832d6c Fixed a bug in HashRing::remove() 2009-11-11 14:14:02 +01:00
Daniele Alessandri 4fecc17bfd Increased the default number of replicas for HashRing 2009-11-11 14:01:35 +01:00
Daniele Alessandri 7c98714a99 Customizable number of replicas when creating an instance of HashRing 2009-11-11 12:03:50 +01:00
Daniele Alessandri 7dde9ff93c Minor optimization in the HashRing class when adding/removing nodes from the ring 2009-11-11 11:57:59 +01:00
Daniele Alessandri 2265755cc4 Fixed a small oversight 2009-11-11 00:24:41 +01:00
Daniele Alessandri 37846e638b Now the Connection class internally uses only the passed ConnectionParameters instance 2009-11-11 00:23:11 +01:00
Daniele Alessandri 894ed83fea Refactored the pipeline bits. Now a pipeline buffer can be flushed from inside a pipeline block to free up the memory used by the commands stored in the buffer on the client. 2009-11-10 17:56:43 +01:00
Daniele Alessandri 7509f98894 Introduced the new ConnectionParameters class 2009-11-09 22:34:50 +01:00
Daniele Alessandri 6df1d02e4c Initial support for optional parameters when creating a Client instance. Optional authorization and database selection are now performed automatically upon connection. 2009-11-09 21:22:54 +01:00
Daniele Alessandri 25d995942d Renamed a method of CommandPipeline to a more appropriate name 2009-11-09 19:50:22 +01:00
Daniele Alessandri 9a1feabbb7 Fixed a leftover from a test. Oh well, this actually shows off how transparent can be switching from inline/bulk commands to multibulk commands. 2009-11-08 10:38:09 +01:00
Daniele Alessandri 34a616cd95 ... and here finally comes Predis! 2009-11-07 13:20:11 +01:00