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