Commit Graph

266 Commits

Author SHA1 Message Date
Daniele Alessandri 471102253a Updated the tests to reflect the changes that has been made in the internal design of the library in the latest weeks. 2010-04-17 17:04:06 +02:00
Daniele Alessandri 4cce99d388 Merge branch 'test_client_feats' into test_library_features 2010-04-17 17:02:36 +02:00
Daniele Alessandri 39052b181e Merge branch 'hyves_contribs_port' into master. Huge thanks to Lorenzo Castelli for a lot of awesome improvements and ideas. 2010-04-17 15:26:21 +02:00
Daniele Alessandri fd0732ca33 Updated CHANGELOG. 2010-04-17 15:14:03 +02:00
Daniele Alessandri 14c9d36bdf Updated CHANGELOG. 2010-04-17 15:13:48 +02:00
Daniele Alessandri 323b6f9eff Updated README. 2010-04-17 15:12:31 +02:00
Daniele Alessandri 835f5a5cbc Added Lorenzo to the contributors list. 2010-04-17 14:51:43 +02:00
Daniele Alessandri fa22d9667c Get a Predis\ResponseError instance from a Predis\ServerException instance. 2010-04-17 09:13:32 +02:00
Daniele Alessandri 67a27a7f05 Fixed a bug in the test suite discovered thanks to the validation of numeric inputs introduced in Redis with commit bbe025e. 2010-04-15 11:55:15 +02:00
Daniele Alessandri bdf4dfb54e Fixed the test suite to comply with the changes introduced in Redis with commit 4e27f26. 2010-04-15 11:51:33 +02:00
Daniele Alessandri a3ead444b2 Removed a spurious new line. 2010-04-14 15:52:35 +02:00
Daniele Alessandri 9facda2678 Updated CHANGELOG. 2010-04-14 15:51:08 +02:00
Daniele Alessandri 8f50c5f69a User-configurable key distribution algorithm to be used for clustered connections. 2010-04-14 15:03:27 +02:00
Daniele Alessandri 0e52825d97 Merge branch 'client_options' into hyves_contribs_port 2010-04-14 14:36:39 +02:00
Daniele Alessandri 5842c57b28 Merge branch 'hashring_rework' into hyves_contribs_port 2010-04-14 14:36:10 +02:00
Daniele Alessandri c89e222fd2 Removed the setOption and getOption methods from ResponseReader as their implementation was clumsy. 2010-04-10 19:10:20 +02:00
Daniele Alessandri c8509dd068 Exposed ResponseReader::setHandler as a public method and implemented ResponseReader::getHandler. 2010-04-10 18:48:42 +02:00
Daniele Alessandri 9e97c15a50 \Predis\Client now uses the new \Predis\ClientOptions class to define various options for a client instance. 2010-04-10 17:45:40 +02:00
Daniele Alessandri c4341eafaa Implemented the new \Predis\ClientOptions class. 2010-04-10 16:53:19 +02:00
Daniele Alessandri a2617af24a Removed a spurious space character. 2010-04-10 16:45:58 +02:00
Daniele Alessandri ea04aa67c6 Bugfix: missing backslash for root namespace. 2010-04-10 16:44:50 +02:00
Daniele Alessandri 994258b4c2 Slightly changed the arguments order of HashRing::addNodeToRing. 2010-04-10 11:01:03 +02:00
Daniele Alessandri 2272982364 Updated CHANGELOG. 2010-04-10 10:55:43 +02:00
Daniele Alessandri 3a44f766c2 Close the underlying connection also on MalformedServerResponse exceptions. 2010-04-10 10:15:05 +02:00
Daniele Alessandri bac4be648f Added support for persistent connections (optional and experimental). 2010-04-10 10:13:01 +02:00
Daniele Alessandri a1c827cb2d Precalculate the total count of the keys in the ring. 2010-04-10 09:25:58 +02:00
Daniele Alessandri 1ba033879a Bugfix: wrap-around differences for HashRing and KetamaPureRing. 2010-04-10 09:05:49 +02:00
Daniele Alessandri 79e7b0b209 Predis\ConnectionCluster now accepts an instance of Predis\Utilities\IRing as an optional parameter. 2010-04-04 23:32:21 +02:00
Daniele Alessandri 6d5060b226 Introduced the new KetamaPureRing class with the same key distribution algorithm of libketama. 2010-04-04 23:14:57 +02:00
Daniele Alessandri a6c246ac7c Small refactoring of the HashRing class. 2010-04-04 23:13:22 +02:00
Daniele Alessandri 18e181d9a1 Introduced the new IRing interface. 2010-04-04 20:13:07 +02:00
Daniele Alessandri aafddece15 Removed code duplication. 2010-04-03 14:01:53 +02:00
Daniele Alessandri 45ed2a9f96 Changed the parameters order for the constructor of the \Predis\CommunicationException class. 2010-04-03 13:31:49 +02:00
Daniele Alessandri 958c0a3b33 Disallow length parameter <= 0 for Connection::readBytes. 2010-04-03 13:23:42 +02:00
Daniele Alessandri f7f9e3483c Reworked the CommunicationException class and its derivates; When specified, close the underlying connection after a CommunicationException has been trown. 2010-04-02 18:53:42 +02:00
Daniele Alessandri 5040ce7d18 New exceptions hierarchy. 2010-04-02 16:58:19 +02:00
Daniele Alessandri 41f2065287 Removed a couple of redundant destructors. 2010-04-02 14:57:14 +02:00
Daniele Alessandri 617d5f69b6 Added support for async connections. 2010-04-02 14:28:15 +02:00
Daniele Alessandri c87fc91fb4 Bugfix: close the connection on Connection::rawCommand when the parameter is set to TRUE. 2010-04-02 14:15:10 +02:00
Daniele Alessandri 4cc43775b0 Added support for partial reads/writes. Note that stream_get_contents is not used because it doesn't seem to respect the timeout. 2010-04-02 13:51:46 +02:00
Daniele Alessandri 1b5e148d96 \Predis\Client::setProfile now accepts also a string value to specify the target server profile. 2010-03-31 12:23:10 +02:00
Daniele Alessandri 981b64fe21 Added support for weight parameter in server configuration, that allows to balance the keys asymmetrically across multiple servers. 2010-03-31 12:04:11 +02:00
Daniele Alessandri 6ea96dcfea Added support for optionally weighted nodes in the hashring. 2010-03-31 11:47:33 +02:00
Daniele Alessandri 435fdeab75 Add support for microsecond read/write timeouts. 2010-03-31 10:40:14 +02:00
Daniele Alessandri 4f3ffe1217 Made ConnectionCluster::getConnection public, so client code can check to which server a command would be sent. 2010-03-30 15:47:39 +02:00
Daniele Alessandri 486244be8d Reworked HashRing::remove to handle hash collisions in a consistent way. 2010-03-30 15:41:31 +02:00
Daniele Alessandri 2cd056cab6 Added wrapping around for the consistent hashing algorithm. 2010-03-30 15:03:49 +02:00
Daniele Alessandri 1c286f29d1 executeCommand is now part of the IConnection interface; Moved the actual implementation of executeCommand() from Predis\Client to Predis\Connection. 2010-03-30 12:53:11 +02:00
Daniele Alessandri 631832eaf9 Updated CHANGELOG. 2010-03-29 12:48:54 +02:00
Daniele Alessandri 17dff871bc New command: HINCRBY (Redis v2.0-dev). 2010-03-29 12:46:43 +02:00