Daniele Alessandri
|
d8b0c7f40c
Reverting some obsoleted changes in preparation for a merge into the master branch.
|
15 years ago |
Daniele Alessandri
|
6e5c495b26
MultiBulkResponseIterator and MultiBulkResponseKVIterator inherit from a common MultiBulkResponseIteratorBase class.
|
15 years ago |
Daniele Alessandri
|
f65cb529ec
Enhancement: when using multibulk response iterators, ZRANGE and ZSETRANGE now return a MultiBulkResponseKVIterator when called with the WITHSCORES parameter.
|
15 years ago |
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).
|
15 years ago |
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.
|
15 years ago |
Daniele Alessandri
|
8df4eaf7b3
Predis\Client::multiExec is now aware of iterable multi-bulk responses.
|
15 years ago |
Daniele Alessandri
|
701e06443c
Ensure that iterators returned by multi-bulk replies inside a pipeline are stored in the replies buffer as arrays.
|
15 years ago |
Daniele Alessandri
|
a1aaf73b78
MultiBulkResponseIterator now implements the Countable interface.
|
15 years ago |
Daniele Alessandri
|
b7203d97e7
MultiBulkResponseIterator::current must be pre-fetched.
|
15 years ago |
Daniele Alessandri
|
a4720dc721
Implemented the new Predis\Utilities\MultiBulkResponseIterator.
|
15 years ago |
Daniele Alessandri
|
4ee965ab83
Switched from anonymous functions to classes extending the IResponseHandler interface to handle server responses.
|
15 years ago |
Daniele Alessandri
|
6e3b1c835d
Enhancement: support multiple GET parameters for the SORT command (see also my comment in ISSUE #1)
|
15 years ago |
Daniele Alessandri
|
7fa935f827
Implemented a factory method for creating server profiles instances.
|
16 years ago |
Daniele Alessandri
|
6cb9663539
Added missing support for BGREWRITEAOF for Redis >= 1.2.0
|
16 years ago |
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.
|
16 years ago |
Daniele Alessandri
|
35016ba4b0
Changed the naming convention of the predefined RedisServerProfile derived classes.
|
16 years ago |
Daniele Alessandri
|
ab2842c100
Minor changes in code formatting.
|
16 years ago |
Daniele Alessandri
|
91543d776f
Adjusted Predis\Commands\BackgroundSave according to the new behavior of BGSAVE in Redis 1.2.
|
16 years ago |
Daniele Alessandri
|
84fb4390f9
Using isset to check if prefix handlers have been initialized is faster.
|
16 years ago |
Daniele Alessandri
|
8b152f0ea3
Added checks for errors returned by read and write operations on sockets.
|
16 years ago |
Daniele Alessandri
|
75fad0a027
Implemented Response::read. This new method groups Response::getPrefix and Response::getHeader (and reduces the overhead of unnecessary method calls).
|
16 years ago |
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)
|
16 years ago |
Daniele Alessandri
|
d51e8e0c25
Greatly improved the code that initially handles replies getting the correct reply handler. Also, performances might have improved a bit.
|
16 years ago |
Daniele Alessandri
|
1d3e8cea59
Reduced memory consumption for pipelines
|
16 years ago |
Daniele Alessandri
|
03886d9a78
Merge branch 'blpop'
|
16 years ago |
Daniele Alessandri
|
5641983059
Fixed E_NOTICE messages in Predis\Response::getPrefixHandler on undefined handlers (unknown prefixes received from the server).
|
16 years ago |
Daniele Alessandri
|
0bac9308b5
Fixed E_NOTICE messages in Predis\RedisServerProfile::createCommand on undefined commands.
|
16 years ago |
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.
|
16 years ago |
Daniele Alessandri
|
362cdf4d5a
Use the new ternary short cut "?:" where it helps with readability.
|
16 years ago |
Daniele Alessandri
|
04c481b3d7
Removed a bunch of unmeaningful TODOs end notes.
|
16 years ago |