Daniele Alessandri
|
f65cb529ec
|
Enhancement: when using multibulk response iterators, ZRANGE and ZSETRANGE now return a MultiBulkResponseKVIterator when called with the WITHSCORES parameter.
|
2010-02-27 11:52:14 +01:00 |
|
Daniele Alessandri
|
47db5075ec
|
Implemented MultiBulkResponseKVIterator to wrap iterators that should be seen as $k => array($MBIterator, $MBIterator++) by external code (think of ZRANGE .. WITHSCORES as a practical example).
|
2010-02-27 11:46:52 +01:00 |
|
Daniele Alessandri
|
0cd7b446c6
|
Users can now choose at runtime how to handle multibulk responses. The new (and optional) iterator-based approach is slightly slower than the usual fetch-all behaviour, but in certain scenarios (e.g. when dealing with massive multibulk responses) it can save a lot of memory on the client.
|
2010-02-25 12:46:10 +01:00 |
|
Daniele Alessandri
|
8df4eaf7b3
|
Predis\Client::multiExec is now aware of iterable multi-bulk responses.
|
2010-02-25 12:44:13 +01:00 |
|
Daniele Alessandri
|
701e06443c
|
Ensure that iterators returned by multi-bulk replies inside a pipeline are stored in the replies buffer as arrays.
|
2010-02-25 12:43:16 +01:00 |
|
Daniele Alessandri
|
a1aaf73b78
|
MultiBulkResponseIterator now implements the Countable interface.
|
2010-02-25 12:41:57 +01:00 |
|
Daniele Alessandri
|
b7203d97e7
|
MultiBulkResponseIterator::current must be pre-fetched.
|
2010-02-25 12:41:19 +01:00 |
|
Daniele Alessandri
|
a4720dc721
|
Implemented the new Predis\Utilities\MultiBulkResponseIterator.
|
2010-02-25 12:40:15 +01:00 |
|
Daniele Alessandri
|
2b0bd88d8f
|
Updated CHANGELOG
|
2010-02-25 11:39:52 +01:00 |
|
Daniele Alessandri
|
4ee965ab83
|
Switched from anonymous functions to classes extending the IResponseHandler interface to handle server responses.
|
2010-02-25 11:28:14 +01:00 |
|
Daniele Alessandri
|
40df90007d
|
Miss typings, oh my...
|
2010-02-25 11:27:07 +01:00 |
|
Daniele Alessandri
|
2c7a99df55
|
Added missing test for SORT ... GET
|
2010-02-25 11:24:50 +01:00 |
|
Daniele Alessandri
|
6e3b1c835d
|
Enhancement: support multiple GET parameters for the SORT command (see also my comment in ISSUE #1)
|
2010-02-25 10:57:41 +01:00 |
|
Daniele Alessandri
|
f5f06d643f
|
Fixed a dangerous oversight in the test suite (seriously, testing FLUSHALL was indeed stupid).
|
2010-01-27 23:56:26 +01:00 |
|
Daniele Alessandri
|
1be9bef159
|
Updated CHANGELOG
|
2010-01-23 16:01:03 +01:00 |
|
Daniele Alessandri
|
7fa935f827
|
Implemented a factory method for creating server profiles instances.
|
2010-01-23 15:55:34 +01:00 |
|
Daniele Alessandri
|
afdc79f97f
|
Added tests for BGREWRITEAOF.
|
2010-01-23 15:31:53 +01:00 |
|
Daniele Alessandri
|
6cb9663539
|
Added missing support for BGREWRITEAOF for Redis >= 1.2.0
|
2010-01-23 12:54:58 +01:00 |
|
Daniele Alessandri
|
8622dd8b05
|
Added the CHANGELOG file.
|
2010-01-23 12:41:45 +01:00 |
|
Daniele Alessandri
|
21acb300a7
|
The command ListPopLastPushHead (RPOPLPUSH) is now defined as an inline command instead of bulk after a change in Redis 1.2.1. The old bulk RPOPLPUSH has been preserved and renamed in ListPopLastPushHeadBulk, so that you can override the current server profile if you need the old (and uncorrect) behaviour when connecting to a Redis 1.2.0 instance.
|
2010-01-23 12:33:10 +01:00 |
|
Daniele Alessandri
|
35016ba4b0
|
Changed the naming convention of the predefined RedisServerProfile derived classes.
v0.5.0
|
2010-01-09 12:36:46 +01:00 |
|
Daniele Alessandri
|
ab2842c100
|
Minor changes in code formatting.
|
2010-01-09 12:14:40 +01:00 |
|
Daniele Alessandri
|
91543d776f
|
Adjusted Predis\Commands\BackgroundSave according to the new behavior of BGSAVE in Redis 1.2.
|
2010-01-09 12:00:36 +01:00 |
|
Daniele Alessandri
|
84fb4390f9
|
Using isset to check if prefix handlers have been initialized is faster.
|
2010-01-09 11:42:16 +01:00 |
|
Daniele Alessandri
|
8b152f0ea3
|
Added checks for errors returned by read and write operations on sockets.
|
2010-01-09 11:28:57 +01:00 |
|
Daniele Alessandri
|
e01feda91f
|
Updated the README.
|
2010-01-09 10:01:47 +01:00 |
|
Daniele Alessandri
|
15c81fca6f
|
Bumping year in the LICENSE file.
|
2010-01-09 09:49:20 +01:00 |
|
Daniele Alessandri
|
75fad0a027
|
Implemented Response::read. This new method groups Response::getPrefix and Response::getHeader (and reduces the overhead of unnecessary method calls).
|
2010-01-07 13:48:14 +01:00 |
|
Daniele Alessandri
|
46dd3d6f19
|
Improved the internals of MultiExecBlock::execute (slight reduction in memory usage; check for out-of-sync conditions between the client and the server)
|
2010-01-06 12:13:51 +01:00 |
|
Daniele Alessandri
|
d51e8e0c25
|
Greatly improved the code that initially handles replies getting the correct reply handler. Also, performances might have improved a bit.
|
2010-01-06 11:47:05 +01:00 |
|
Daniele Alessandri
|
1d3e8cea59
|
Reduced memory consumption for pipelines
|
2010-01-06 11:03:27 +01:00 |
|
Daniele Alessandri
|
03886d9a78
|
Merge branch 'blpop'
Conflicts:
lib/Predis.php
|
2010-01-06 10:37:03 +01:00 |
|
Daniele Alessandri
|
2577f6a2cb
|
Added tests for BLPOP and BRPOP. They are not really that great as they are missing a concurrent RPUSHing client, but they are enough for now.
|
2010-01-02 22:09:27 +01:00 |
|
Daniele Alessandri
|
5641983059
|
Fixed E_NOTICE messages in Predis\Response::getPrefixHandler on undefined handlers (unknown prefixes received from the server).
|
2010-01-01 20:44:28 +01:00 |
|
Daniele Alessandri
|
0bac9308b5
|
Fixed E_NOTICE messages in Predis\RedisServerProfile::createCommand on undefined commands.
|
2010-01-01 20:32:24 +01:00 |
|
Daniele Alessandri
|
d12694c271
|
Predis\CommandPipeline::execute and Predis\MultiExecBlock::execute are no more limited to accepting only instances of Closure, now every kind of callable object can be passed as argument.
|
2010-01-01 20:19:34 +01:00 |
|
Daniele Alessandri
|
362cdf4d5a
|
Use the new ternary short cut "?:" where it helps with readability.
|
2010-01-01 18:55:32 +01:00 |
|
Daniele Alessandri
|
04c481b3d7
|
Removed a bunch of unmeaningful TODOs end notes.
|
2010-01-01 18:42:13 +01:00 |
|
Daniele Alessandri
|
238baf7dc8
|
Implemented Predis\RedisServerProfile::compareWith, usefult to compare two different profiles. Its current behavior is the very same as PHP's version_compare.
|
2010-01-01 18:35:15 +01:00 |
|
Daniele Alessandri
|
9dae351819
|
Casting a instance of Predis\RedisServerProfile to string returns its associated version string.
|
2010-01-01 18:11:37 +01:00 |
|
Daniele Alessandri
|
d34fc18ea8
|
Reverted a bad versioning idea. The Predis\RedisServer__Futures class will always be availabe and it represents the current development branch of Redis.
|
2010-01-01 18:09:03 +01:00 |
|
Daniele Alessandri
|
cd8604b489
|
Removed Predis\Client::registerCommand and Predis\Client::registerCommands as they are rarely used. The methods of the same name available in RedisServerProfile (and its derivates) serve the same purpose, use them from now on.
|
2010-01-01 17:46:34 +01:00 |
|
Daniele Alessandri
|
99ad5aa4a5
|
Implemented Predis\Client::getProfile.
|
2010-01-01 17:37:26 +01:00 |
|
Daniele Alessandri
|
2e5549b316
|
Renamed Predis\Client::setServerProfile to Predis\Client::setProfile.
|
2010-01-01 17:35:42 +01:00 |
|
Daniele Alessandri
|
d719a26406
|
Switch to string-based versions for RedisServerProfile classes.
|
2010-01-01 17:25:27 +01:00 |
|
Daniele Alessandri
|
2a06d84a7b
|
Throw a more meaningful exception if the server does not respond with a +QUEUED status reply to commands issued in a MULTI / EXEC context.
|
2009-12-31 14:11:24 +01:00 |
|
Daniele Alessandri
|
1f9e6143bf
|
Commands issued with a MultiExecBlock now return ResponseQueued instances to the caller.
|
2009-12-31 14:05:12 +01:00 |
|
Daniele Alessandri
|
77f885c233
|
Merge branch 'multi_exec'
|
2009-12-31 13:48:20 +01:00 |
|
Daniele Alessandri
|
db6e40df98
|
Added tests for MULTI / EXEC.
|
2009-12-31 13:00:27 +01:00 |
|
Daniele Alessandri
|
e637881c2d
|
Force the test suite to load the server profile for Redis edge versions (development unstable).
|
2009-12-31 12:18:34 +01:00 |
|