Commit Graph

338 Commits

Author SHA1 Message Date
Daniele Alessandri 79372cb99b Add inline (p)subscribe via options on Predis\PubSubContext initialization. 2011-02-12 11:43:37 +01:00
Daniele Alessandri 0d7fe31110 Minor indentation fix. 2011-01-26 16:24:34 +01:00
Daniele Alessandri 118af2809c Use only one check for replies that should not be passed to a reply parser. 2011-01-14 17:07:00 +01:00
Daniele Alessandri 8dcd10dbbc Fix missing registration for the Redis 2.2 profile. 2011-01-13 12:32:31 +01:00
Daniele Alessandri 3a6907241b Promote the profile for Redis 2.2 as stable (the default for the client is still 2.0). 2011-01-13 12:26:19 +01:00
Daniele Alessandri eae29bc3da Do not use is_numeric() when it is not really needed (it is relatively slow). 2011-01-13 12:18:24 +01:00
Daniele Alessandri 727feb3f27 Remove usage of constants in the protocol handlers. 2011-01-13 12:13:46 +01:00
Daniele Alessandri 3924235501 Apply minor changes. 2011-01-13 12:09:46 +01:00
Daniele Alessandri dc704c8cc4 Remove unused variables. 2011-01-13 12:07:54 +01:00
Daniele Alessandri 8d6f65d3dd Add the 'on_retry' callback as an option for Predis\MultiExecBlock. 2011-01-13 12:06:11 +01:00
Daniele Alessandri 40dfabb139 Do not perform useless read operations in the bulk reply handler. 2011-01-13 00:17:03 +01:00
Daniele Alessandri 923d998f35 Fix namespacing issue. 2011-01-06 00:59:12 +01:00
Daniele Alessandri eae8fb8971 Minor code style change. 2011-01-06 00:55:38 +01:00
Daniele Alessandri 4fc5ee65fd Look for a closing curly brace in a string only after the index of the opening one when using key tags. 2011-01-06 00:55:38 +01:00
Daniele Alessandri 007ddaecfa Optimize when a pair of curly brackets for key tagging is missing. 2011-01-06 00:55:38 +01:00
Daniele Alessandri 455e56927a Create a new class to handle the old response type of KEYS (Redis v1.2). 2011-01-06 00:55:38 +01:00
Daniele Alessandri 4b1302a93a Use a faster method to detect errors when reading a line from the server. 2011-01-06 00:55:00 +01:00
Daniele Alessandri d46b0e0785 Reuse code a bit. 2011-01-06 00:55:00 +01:00
Daniele Alessandri cf522ff2b4 Use a local cache for handlers while iterating chunks of a multi-bulk reply. 2011-01-06 00:54:10 +01:00
Daniele Alessandri db92c7a9b8 Reduce overhead by directly managing reply handlers for multibulk replies. 2011-01-06 00:54:10 +01:00
Daniele Alessandri 30926def60 Rewrite the bulk reply handler (more compact and faster code). 2011-01-06 00:54:10 +01:00
Daniele Alessandri 7465daa0eb More strict check of the length argument for a network read. 2011-01-06 00:52:56 +01:00
Daniele Alessandri 2c761d6c95 Remove a useless check for the payload length. 2011-01-06 00:52:56 +01:00
Daniele Alessandri 1e32f8aaa8 Use an explicit index to add values to the multi-bulk reply array. 2011-01-06 00:52:55 +01:00
Daniele Alessandri 2a25b0e3f3 Nothing fancy, and hardly an optimization. 2011-01-06 00:52:55 +01:00
Daniele Alessandri 5a6a48fa17 Avoid allocating an iterator to traverse the arguments list of a command. 2011-01-06 00:52:55 +01:00
Daniele Alessandri 64951b1799 Preallocate an empty array for empty command arguments. 2011-01-06 00:52:04 +01:00
Daniele Alessandri 0c9b822095 Code style changes only. 2011-01-01 13:49:55 +01:00
Daniele Alessandri 030d9740bd Cannot execute with a transaction block after using fluent interface style with Predis\MultiExecBlock. 2011-01-01 13:49:39 +01:00
Daniele Alessandri 0bbbe064b5 Improve fluent-interface style for transactions with CAS. 2011-01-01 13:49:39 +01:00
Daniele Alessandri 87439ae631 Cannot use the 'retry' option for transactions without providing a function block. 2011-01-01 13:49:39 +01:00
Daniele Alessandri 7997eab57c Do not fail with empty transactions when using CAS. 2011-01-01 13:49:38 +01:00
Daniele Alessandri d667bcb6bb Fix and optimize WATCH with CAS. 2011-01-01 13:49:38 +01:00
Daniele Alessandri e3dd311dd3 Add support for optional automatic retries upon aborted transactions. 2011-01-01 13:49:08 +01:00
Daniele Alessandri 34f4d5584b Support DISCARD with CAS. 2011-01-01 13:49:08 +01:00
Daniele Alessandri 39619d0c54 Add support for check-and-set (CAS) for transactions with Predis\MultiExecBlock. 2011-01-01 13:49:08 +01:00
Daniele Alessandri 7b2cd4abd0 Remove unused class. 2010-12-18 17:11:13 +01:00
Daniele Alessandri 35fd6ca509 New command: BRPOPLPUSH (Redis v2.2-dev). 2010-12-18 17:09:28 +01:00
Daniele Alessandri fb5f878e21 New command: GETBIT (Redis v2.2-dev). 2010-12-18 16:53:26 +01:00
Daniele Alessandri e3ee595768 New command: SETBIT (Redis v2.2-dev). 2010-12-18 15:53:01 +01:00
Daniele Alessandri cc16311950 New command: SETRANGE (Redis v2.2-dev). 2010-12-18 13:11:59 +01:00
Daniele Alessandri f32cd19800 New command: GETRANGE (Redis v2.2-dev - replaces SUBSTR). 2010-12-18 12:36:04 +01:00
Daniele Alessandri 7d5cccaf7c Overridden methods for UNWATCH and DISCARD in Predis\MultiExecBlock must return $this to not break method chaining. 2010-11-28 19:19:48 +01:00
Daniele Alessandri b530f9f613 New command: PERSIST (Redis v2.2-dev). 2010-11-28 16:49:20 +01:00
Daniele Alessandri d677c72ae3 New command: ZREVRANGEBYSCORE (Redis v2.2-dev). 2010-11-28 16:39:07 +01:00
Daniele Alessandri 8bfae69bf0 Make WATCH accept an array of keys that must be watched. 2010-09-25 17:52:23 +02:00
Daniele Alessandri 9ac4571f91 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 16:55:31 +02:00
Daniele Alessandri ec51b14fbb Fix an infinite recursion loop when calling Predis\Client::multiExec() (ISSUE #14). 2010-09-25 16:52:59 +02:00
Daniele Alessandri dc56526256 New commands: RPUSHX, LPUSHX (Redis v2.2-dev). 2010-09-25 16:38:16 +02:00
Daniele Alessandri 195c6eae99 New command: LINSERT (Redis v2.2-dev). 2010-09-25 16:34:18 +02:00