Commit Graph

503 Commits

Author SHA1 Message Date
Daniele Alessandri 51352bcbb3 Create a new class to handle the old response type of KEYS (Redis v1.2). 2011-01-04 21:01:29 +01:00
Daniele Alessandri 2b809325e0 Use a faster method to detect errors when reading a line from the server. 2011-01-04 11:08:55 +01:00
Daniele Alessandri 306ed28c5d Reuse code a bit. 2011-01-04 10:55:39 +01:00
Daniele Alessandri d94ad9942f Use a local cache for handlers while iterating chunks of a multi-bulk reply. 2011-01-04 10:34:56 +01:00
Daniele Alessandri dcbd943505 Reduce overhead by directly managing reply handlers for multibulk replies. 2011-01-04 10:31:34 +01:00
Daniele Alessandri b74e2c22f7 Rewrite the bulk reply handler (more compact and faster code). 2011-01-02 22:22:07 +01:00
Daniele Alessandri 48728d2672 More strict check of the length argument for a network read. 2011-01-02 22:05:27 +01:00
Daniele Alessandri e134e21b78 Remove a useless check for the payload length. 2011-01-02 21:55:28 +01:00
Daniele Alessandri f0f1647773 Use an explicit index to add values to the multi-bulk reply array. 2011-01-02 21:51:53 +01:00
Daniele Alessandri d270205a8c Nothing fancy, and hardly an optimization. 2011-01-02 21:50:14 +01:00
Daniele Alessandri a1db042d17 Avoid allocating an iterator to traverse the arguments list of a command. 2011-01-02 21:42:54 +01:00
Daniele Alessandri e645ed7d3f Preallocate an empty array for empty command arguments. 2011-01-02 21:35:43 +01:00
Daniele Alessandri 9ae69e6c51 Update CHANGELOG. 2011-01-01 19:01:34 +01:00
Daniele Alessandri 3a46f8a7c5 Update README to reflect public API changes. 2011-01-01 15:05:00 +01:00
Daniele Alessandri b202e6cae7 Make Predis\Client::setProfile() private. 2011-01-01 14:59:38 +01:00
Daniele Alessandri 5ca82fb56b Code style changes only. 2011-01-01 13:06:43 +01:00
Daniele Alessandri 1530c7c0d6 Cannot execute with a transaction block after using fluent interface style with Predis\MultiExecBlock. 2011-01-01 11:49:05 +01:00
Daniele Alessandri 11b2f3aca3 Improve fluent-interface style for transactions with CAS. 2011-01-01 11:35:48 +01:00
Daniele Alessandri 6b82b412fb Cannot use the 'retry' option for transactions without providing a function block. 2011-01-01 11:32:23 +01:00
Daniele Alessandri 858d7372ca Add an example for MULTI/EXEC transactions using CAS. 2010-12-31 19:41:31 +01:00
Daniele Alessandri 99042f6b9c Do not fail with empty transactions when using CAS. 2010-12-31 19:40:59 +01:00
Daniele Alessandri 725d5abe4a Update README. 2010-12-31 19:01:01 +01:00
Daniele Alessandri 46b56437a4 Fix and optimize WATCH with CAS. 2010-12-31 18:55:04 +01:00
Daniele Alessandri 4a497eea79 Add support for optional automatic retries upon aborted transactions. 2010-12-31 18:53:13 +01:00
Daniele Alessandri cf21a43211 Support DISCARD with CAS. 2010-12-31 16:17:31 +01:00
Daniele Alessandri 70487bbfb3 Add support for check-and-set (CAS) for transactions with Predis\MultiExecBlock. 2010-12-31 16:17:24 +01:00
Daniele Alessandri 922beeceea Test suite: tiny fix in a test for LINSERT (again, this time for real). 2010-12-31 16:16:54 +01:00
Daniele Alessandri 02d7400d1f Test suite: tiny fix in a test for LINSERT. 2010-12-21 18:36:43 +01:00
Daniele Alessandri 3a2e977ee0 Test suite: temporary fix for testSetExpire(). 2010-12-18 17:44:06 +01:00
Daniele Alessandri eac195eaea Remove unused class. 2010-12-18 17:43:41 +01:00
Daniele Alessandri daf88645f2 New command: BRPOPLPUSH (Redis v2.2-dev).
Conflicts:

	lib/Predis.php
2010-12-18 17:40:30 +01:00
Daniele Alessandri ecc7499b47 Test suite: move up testStrlen(). 2010-12-18 17:39:17 +01:00
Daniele Alessandri 64cb73fbb9 New command: GETBIT (Redis v2.2-dev).
Conflicts:

	lib/Predis.php
2010-12-18 17:38:49 +01:00
Daniele Alessandri 0b9bca8ce1 New command: SETBIT (Redis v2.2-dev).
Conflicts:

	lib/Predis.php
2010-12-18 17:36:48 +01:00
Daniele Alessandri e1924551b1 New command: SETRANGE (Redis v2.2-dev).
Conflicts:

	lib/Predis.php
2010-12-18 17:33:15 +01:00
Daniele Alessandri 171a28fe26 New command: GETRANGE (Redis v2.2-dev - replaces SUBSTR). 2010-12-18 17:29:32 +01:00
Daniele Alessandri ca5cd2f42a Update CHANGELOG. 2010-11-28 21:16:57 +01:00
Daniele Alessandri 1e4661cfc8 Overridden methods for UNWATCH and DISCARD in Predis\MultiExecBlock must return $this to not break method chaining. 2010-11-28 19:19:20 +01:00
Daniele Alessandri e146fa9e65 Fix a bunch of broken tests. 2010-11-28 17:17:39 +01:00
Daniele Alessandri 21b3fdb3e1 New command: PERSIST (Redis v2.2-dev). 2010-11-28 16:35:25 +01:00
Daniele Alessandri cd9dbb763e Update CHANGELOG. 2010-11-28 14:07:03 +01:00
Daniele Alessandri fffa7acd83 Add support for UNIX domain sockets. 2010-11-28 13:58:09 +01:00
Daniele Alessandri f419d15f82 New command: ZREVRANGEBYSCORE (Redis v2.2-dev). 2010-11-27 12:55:39 +01:00
Daniele Alessandri 7b1713398d Make WATCH accept an array of keys that must be watched. 2010-09-25 17:52:04 +02:00
Daniele Alessandri bbc94863d1 Update CHANGELOG. 2010-09-25 16:25:14 +02:00
Daniele Alessandri 9e58ad7648 Test suite: move the trigger guard for the test suite in the common included file. 2010-09-25 16:15:45 +02:00
Daniele Alessandri 1d45649f86 Test suite: add test for WATCH in Predis\MultiExecBlock. 2010-09-25 16:15:13 +02:00
Daniele Alessandri 29f18254bb Fix improper handling of a few corner cases for Predis\MultiExecBlock and send DISCARD to the server on uncaught exceptions inside a callable block. 2010-09-25 15:06:03 +02:00
Daniele Alessandri 4c8f31f532 Fix bad handling of empty MULTI/EXEC contexts (MULTI should not even be sent to the server). 2010-09-25 14:26:50 +02:00
Daniele Alessandri 96e7a58f9f Test suite: add missing tests for Predis\MultiExecBlock. 2010-09-25 14:23:22 +02:00