|
@@ -3,13 +3,13 @@ v0.7.0 (2010-xx-xx)
|
|
|
|
|
|
* List of the methods removed in this release:
|
|
* List of the methods removed in this release:
|
|
- Predis\Client::create()
|
|
- Predis\Client::create()
|
|
- This method has been removed because it was considered redundant
|
|
|
|
|
|
+ This method has been removed because it was considered redundant
|
|
with Predis\Client::__construct() since Predis 0.6.0.
|
|
with Predis\Client::__construct() since Predis 0.6.0.
|
|
- Predis\Client::pipelineSafe()
|
|
- Predis\Client::pipelineSafe()
|
|
- This method was deprecated in Predis 0.6.1 and now it has been finally
|
|
|
|
|
|
+ This method was deprecated in Predis 0.6.1 and now it has been finally
|
|
removed. Use Predis\Client::pipeline(array('safe' => true)).
|
|
removed. Use Predis\Client::pipeline(array('safe' => true)).
|
|
- Predis\Client::rawCommand()
|
|
- Predis\Client::rawCommand()
|
|
- This method was removed due to interface inconsistencies with the
|
|
|
|
|
|
+ This method was removed due to interface inconsistencies with the
|
|
underlying connection class used internally by the client instance.
|
|
underlying connection class used internally by the client instance.
|
|
- Predis\Client::setProfile()
|
|
- Predis\Client::setProfile()
|
|
This method is no more part of the public API and has been made private.
|
|
This method is no more part of the public API and has been made private.
|
|
@@ -17,30 +17,30 @@ v0.7.0 (2010-xx-xx)
|
|
* Predis now includes its own autoloader. To use it, include Autoloader.php
|
|
* Predis now includes its own autoloader. To use it, include Autoloader.php
|
|
and call Predis\Autoloader::register().
|
|
and call Predis\Autoloader::register().
|
|
|
|
|
|
- * The Predis\MultiBulkCommand class has been merged into Predis\Command and
|
|
|
|
- thus removed. If you have code that extends Predis\MultiBulkCommand but
|
|
|
|
- you can not afford to update your code, you can always implement it again
|
|
|
|
|
|
+ * The Predis\MultiBulkCommand class has been merged into Predis\Command and
|
|
|
|
+ thus removed. If you have code that extends Predis\MultiBulkCommand but
|
|
|
|
+ you can not afford to update your code, you can always implement it again
|
|
as an abstract class simply by extending Predis\Command.
|
|
as an abstract class simply by extending Predis\Command.
|
|
|
|
|
|
- * The Predis\IConnection interface has been splitted in two different new
|
|
|
|
|
|
+ * The Predis\IConnection interface has been splitted in two different new
|
|
interfaces: Predis\IConnectionSingle and Predis\IConnectionCluster.
|
|
interfaces: Predis\IConnectionSingle and Predis\IConnectionCluster.
|
|
|
|
|
|
- * Developers can now register their own classes that implements the
|
|
|
|
- Predis\IConnectionSingle interface to handle different URI schemes such as
|
|
|
|
- 'tcp', 'unix', 'udp' or anything else. Everything is handled by the new
|
|
|
|
|
|
+ * Developers can now register their own classes that implements the
|
|
|
|
+ Predis\IConnectionSingle interface to handle different URI schemes such as
|
|
|
|
+ 'tcp', 'unix', 'udp' or anything else. Everything is handled by the new
|
|
Predis\ConnectionFactory class.
|
|
Predis\ConnectionFactory class.
|
|
|
|
|
|
- * Added support for UNIX domain sockets (supported by Redis 2.2) with the new
|
|
|
|
|
|
+ * Added support for UNIX domain sockets (supported by Redis 2.2) with the new
|
|
Predis\UnixDomainSocketConnection class and the 'unix' scheme.
|
|
Predis\UnixDomainSocketConnection class and the 'unix' scheme.
|
|
|
|
|
|
- * Added the new Predis\ICommand interface. The Predis\Command class now
|
|
|
|
|
|
+ * Added the new Predis\ICommand interface. The Predis\Command class now
|
|
implements this interface that is used in the core bits of Predis.
|
|
implements this interface that is used in the core bits of Predis.
|
|
|
|
|
|
- * Implicit extraction of arguments when the only argument passed to a
|
|
|
|
- multibulk command is an array is not supported anymore and must be done
|
|
|
|
|
|
+ * Implicit extraction of arguments when the only argument passed to a
|
|
|
|
+ multibulk command is an array is not supported anymore and must be done
|
|
explicitly inside Predis\Command::filterArguments().
|
|
explicitly inside Predis\Command::filterArguments().
|
|
|
|
|
|
- * It is now possible to pass instances of Predis\ConnectionParameters and
|
|
|
|
|
|
+ * It is now possible to pass instances of Predis\ConnectionParameters and
|
|
Predis\IConnection as parameters of Predis\Client::__construct().
|
|
Predis\IConnection as parameters of Predis\Client::__construct().
|
|
|
|
|
|
v0.6.5 (2011-02-12)
|
|
v0.6.5 (2011-02-12)
|
|
@@ -49,14 +49,14 @@ v0.6.5 (2011-02-12)
|
|
desynchronization errors (ISSUE #20).
|
|
desynchronization errors (ISSUE #20).
|
|
|
|
|
|
v0.6.4 (2011-02-12)
|
|
v0.6.4 (2011-02-12)
|
|
- * Various performance improvements (15% ~ 25%) especially when dealing with
|
|
|
|
|
|
+ * Various performance improvements (15% ~ 25%) especially when dealing with
|
|
long multibulk replies or when using clustered connections.
|
|
long multibulk replies or when using clustered connections.
|
|
|
|
|
|
- * Added the "on_retry" option to Predis\MultiExecBlock that can be used to
|
|
|
|
- specify an external callback (or any callable object) that gets invoked
|
|
|
|
|
|
+ * Added the "on_retry" option to Predis\MultiExecBlock that can be used to
|
|
|
|
+ specify an external callback (or any callable object) that gets invoked
|
|
whenever a transaction is aborted by the server.
|
|
whenever a transaction is aborted by the server.
|
|
|
|
|
|
- * Added inline (p)subscribtion via options when initializing an instance of
|
|
|
|
|
|
+ * Added inline (p)subscribtion via options when initializing an instance of
|
|
Predis\PubSubContext.
|
|
Predis\PubSubContext.
|
|
|
|
|
|
v0.6.3 (2011-01-01)
|
|
v0.6.3 (2011-01-01)
|
|
@@ -64,10 +64,10 @@ v0.6.3 (2011-01-01)
|
|
- Strings: SETRANGE, GETRANGE, SETBIT, GETBIT
|
|
- Strings: SETRANGE, GETRANGE, SETBIT, GETBIT
|
|
- Lists : BRPOPLPUSH
|
|
- Lists : BRPOPLPUSH
|
|
|
|
|
|
- * The abstraction for MULTI/EXEC transactions has been dramatically improved
|
|
|
|
- by providing support for check-and-set (CAS) operations when using Redis >=
|
|
|
|
- 2.2. Aborted transactions can also be optionally replayed in automatic up
|
|
|
|
- to a user-defined number of times, after which a Predis\AbortedMultiExec
|
|
|
|
|
|
+ * The abstraction for MULTI/EXEC transactions has been dramatically improved
|
|
|
|
+ by providing support for check-and-set (CAS) operations when using Redis >=
|
|
|
|
+ 2.2. Aborted transactions can also be optionally replayed in automatic up
|
|
|
|
+ to a user-defined number of times, after which a Predis\AbortedMultiExec
|
|
exception is thrown.
|
|
exception is thrown.
|
|
|
|
|
|
v0.6.2 (2010-11-28)
|
|
v0.6.2 (2010-11-28)
|
|
@@ -79,17 +79,17 @@ v0.6.2 (2010-11-28)
|
|
- ZSets : ZREVRANGEBYSCORE
|
|
- ZSets : ZREVRANGEBYSCORE
|
|
- Misc. : PERSIST
|
|
- Misc. : PERSIST
|
|
|
|
|
|
- * WATCH also accepts a single array parameter with the keys that should be
|
|
|
|
|
|
+ * WATCH also accepts a single array parameter with the keys that should be
|
|
monitored during a transaction.
|
|
monitored during a transaction.
|
|
|
|
|
|
* Improved the behaviour of Predis\MultiExecBlock in certain corner cases.
|
|
* Improved the behaviour of Predis\MultiExecBlock in certain corner cases.
|
|
|
|
|
|
* Improved parameters checking for the SORT command.
|
|
* Improved parameters checking for the SORT command.
|
|
|
|
|
|
- * FIX: the STORE parameter for the SORT command didn't work correctly when
|
|
|
|
|
|
+ * FIX: the STORE parameter for the SORT command didn't work correctly when
|
|
using '0' as the target key (ISSUE #13).
|
|
using '0' as the target key (ISSUE #13).
|
|
|
|
|
|
- * FIX: the methods for UNWATCH and DISCARD do not break anymore method
|
|
|
|
|
|
+ * FIX: the methods for UNWATCH and DISCARD do not break anymore method
|
|
chaining with Predis\MultiExecBlock.
|
|
chaining with Predis\MultiExecBlock.
|
|
|
|
|
|
v0.6.1 (2010-07-11)
|
|
v0.6.1 (2010-07-11)
|
|
@@ -98,147 +98,147 @@ v0.6.1 (2010-07-11)
|
|
* New commands available in the Redis v2.2 profile (dev):
|
|
* New commands available in the Redis v2.2 profile (dev):
|
|
- Misc. : WATCH, UNWATCH
|
|
- Misc. : WATCH, UNWATCH
|
|
|
|
|
|
- * Optional modifiers for ZRANGE, ZREVRANGE and ZRANGEBYSCORE queries are
|
|
|
|
- supported using an associative array passed as the last argument of their
|
|
|
|
|
|
+ * Optional modifiers for ZRANGE, ZREVRANGE and ZRANGEBYSCORE queries are
|
|
|
|
+ supported using an associative array passed as the last argument of their
|
|
respective methods.
|
|
respective methods.
|
|
|
|
|
|
- * The LIMIT modifier for ZRANGEBYSCORE can be specified using either:
|
|
|
|
|
|
+ * The LIMIT modifier for ZRANGEBYSCORE can be specified using either:
|
|
- an indexed array: array($offset, $count)
|
|
- an indexed array: array($offset, $count)
|
|
- an associative array: array('offset' => $offset, 'count' => $count)
|
|
- an associative array: array('offset' => $offset, 'count' => $count)
|
|
|
|
|
|
- * The method Predis\Client::__construct() now accepts also instances of
|
|
|
|
|
|
+ * The method Predis\Client::__construct() now accepts also instances of
|
|
Predis\ConnectionParameters.
|
|
Predis\ConnectionParameters.
|
|
|
|
|
|
- * Predis\MultiExecBlock and Predis\PubSubContext now throw an exception
|
|
|
|
- when trying to create their instances using a profile that does not
|
|
|
|
- support the required Redis commands or when the client is connected to
|
|
|
|
|
|
+ * Predis\MultiExecBlock and Predis\PubSubContext now throw an exception
|
|
|
|
+ when trying to create their instances using a profile that does not
|
|
|
|
+ support the required Redis commands or when the client is connected to
|
|
a cluster of connections.
|
|
a cluster of connections.
|
|
|
|
|
|
* Various improvements to Predis\MultiExecBlock:
|
|
* Various improvements to Predis\MultiExecBlock:
|
|
- fixes and more consistent behaviour across various usage cases.
|
|
- fixes and more consistent behaviour across various usage cases.
|
|
- - support for WATCH and UNWATCH when using the current development
|
|
|
|
|
|
+ - support for WATCH and UNWATCH when using the current development
|
|
profile (Redis v2.2) and aborted transactions.
|
|
profile (Redis v2.2) and aborted transactions.
|
|
|
|
|
|
- * New signature for Predis\Client::multiExec() which is now able to accept
|
|
|
|
- an array of options for the underlying instance of Predis\MultiExecBlock.
|
|
|
|
|
|
+ * New signature for Predis\Client::multiExec() which is now able to accept
|
|
|
|
+ an array of options for the underlying instance of Predis\MultiExecBlock.
|
|
Backwards compatibility with previous releases of Predis is ensured.
|
|
Backwards compatibility with previous releases of Predis is ensured.
|
|
|
|
|
|
- * New signature for Predis\Client::pipeline() which is now able to accept
|
|
|
|
- an array of options for the underlying instance of Predis\CommandPipeline.
|
|
|
|
- Backwards compatibility with previous releases of Predis is ensured.
|
|
|
|
|
|
+ * New signature for Predis\Client::pipeline() which is now able to accept
|
|
|
|
+ an array of options for the underlying instance of Predis\CommandPipeline.
|
|
|
|
+ Backwards compatibility with previous releases of Predis is ensured.
|
|
The method Predis\Client::pipelineSafe() is to be considered deprecated.
|
|
The method Predis\Client::pipelineSafe() is to be considered deprecated.
|
|
|
|
|
|
- * FIX: The WEIGHT modifier for ZUNIONSTORE and ZINTERSTORE was handled
|
|
|
|
|
|
+ * FIX: The WEIGHT modifier for ZUNIONSTORE and ZINTERSTORE was handled
|
|
incorrectly with more than two weights specified.
|
|
incorrectly with more than two weights specified.
|
|
|
|
|
|
v0.6.0 (2010-05-24)
|
|
v0.6.0 (2010-05-24)
|
|
- * Switched to the new multi-bulk request protocol for all of the commands
|
|
|
|
- in the Redis 1.2 and Redis 2.0 profiles. Inline and bulk requests are now
|
|
|
|
|
|
+ * Switched to the new multi-bulk request protocol for all of the commands
|
|
|
|
+ in the Redis 1.2 and Redis 2.0 profiles. Inline and bulk requests are now
|
|
deprecated as they will be removed in future releases of Redis.
|
|
deprecated as they will be removed in future releases of Redis.
|
|
|
|
|
|
- * The default server profile is "2.0" (targeting Redis 2.0.x). If you are
|
|
|
|
- using older versions of Redis, it is highly recommended that you specify
|
|
|
|
- which server profile the client should use (e.g. "1.2" when connecting
|
|
|
|
|
|
+ * The default server profile is "2.0" (targeting Redis 2.0.x). If you are
|
|
|
|
+ using older versions of Redis, it is highly recommended that you specify
|
|
|
|
+ which server profile the client should use (e.g. "1.2" when connecting
|
|
to instances of Redis 1.2.x).
|
|
to instances of Redis 1.2.x).
|
|
|
|
|
|
- * Support for Redis 1.0 is now optional and it is provided by requiring
|
|
|
|
|
|
+ * Support for Redis 1.0 is now optional and it is provided by requiring
|
|
'Predis_Compatibility.php' before creating an instance of Predis\Client.
|
|
'Predis_Compatibility.php' before creating an instance of Predis\Client.
|
|
|
|
|
|
* New commands added to the Redis 2.0 profile since Predis 0.5.1:
|
|
* New commands added to the Redis 2.0 profile since Predis 0.5.1:
|
|
- Strings: SETEX, APPEND, SUBSTR
|
|
- Strings: SETEX, APPEND, SUBSTR
|
|
- ZSets : ZCOUNT, ZRANK, ZUNIONSTORE, ZINTERSTORE, ZREMBYRANK, ZREVRANK
|
|
- ZSets : ZCOUNT, ZRANK, ZUNIONSTORE, ZINTERSTORE, ZREMBYRANK, ZREVRANK
|
|
- - Hashes : HSET, HSETNX, HMSET, HINCRBY, HGET, HMGET, HDEL, HEXISTS,
|
|
|
|
|
|
+ - Hashes : HSET, HSETNX, HMSET, HINCRBY, HGET, HMGET, HDEL, HEXISTS,
|
|
HLEN, HKEYS, HVALS, HGETALL
|
|
HLEN, HKEYS, HVALS, HGETALL
|
|
- PubSub : PUBLISH, SUBSCRIBE, UNSUBSCRIBE
|
|
- PubSub : PUBLISH, SUBSCRIBE, UNSUBSCRIBE
|
|
- Misc. : DISCARD, CONFIG
|
|
- Misc. : DISCARD, CONFIG
|
|
|
|
|
|
- * Introduced client-level options with the new Predis\ClientOptions class.
|
|
|
|
- Options can be passed to Predis\Client::__construct in its second argument
|
|
|
|
- as an array or an instance of Predis\ClientOptions. For brevity's sake and
|
|
|
|
- compatibility with older versions, the constructor of Predis\Client still
|
|
|
|
|
|
+ * Introduced client-level options with the new Predis\ClientOptions class.
|
|
|
|
+ Options can be passed to Predis\Client::__construct in its second argument
|
|
|
|
+ as an array or an instance of Predis\ClientOptions. For brevity's sake and
|
|
|
|
+ compatibility with older versions, the constructor of Predis\Client still
|
|
accepts an instance of Predis\RedisServerProfile in its second argument.
|
|
accepts an instance of Predis\RedisServerProfile in its second argument.
|
|
The currently supported client options are:
|
|
The currently supported client options are:
|
|
- profile [default: "2.0" as of Predis 0.6.0]
|
|
- profile [default: "2.0" as of Predis 0.6.0]
|
|
- specifies which server profile to use when connecting to Redis. This
|
|
|
|
- option accepts an instance of Predis\RedisServerProfile or a string
|
|
|
|
|
|
+ specifies which server profile to use when connecting to Redis. This
|
|
|
|
+ option accepts an instance of Predis\RedisServerProfile or a string
|
|
that indicates the target version.
|
|
that indicates the target version.
|
|
- key_distribution [default: Predis\Distribution\HashRing]
|
|
- key_distribution [default: Predis\Distribution\HashRing]
|
|
- specifies which key distribution strategy to use to distribute keys
|
|
|
|
- among the servers that compose a cluster. This option accepts an
|
|
|
|
- instance of Predis\Distribution\IDistributionStrategy so that users
|
|
|
|
- can implement their own key distribution strategy. Optionally, the new
|
|
|
|
- Predis\Distribution\KetamaPureRing class also provides a pure-PHP
|
|
|
|
|
|
+ specifies which key distribution strategy to use to distribute keys
|
|
|
|
+ among the servers that compose a cluster. This option accepts an
|
|
|
|
+ instance of Predis\Distribution\IDistributionStrategy so that users
|
|
|
|
+ can implement their own key distribution strategy. Optionally, the new
|
|
|
|
+ Predis\Distribution\KetamaPureRing class also provides a pure-PHP
|
|
implementation of the same algorithm used by libketama.
|
|
implementation of the same algorithm used by libketama.
|
|
- throw_on_error [default: TRUE]
|
|
- throw_on_error [default: TRUE]
|
|
- server errors can optionally be handled "silently": instead of throwing
|
|
|
|
|
|
+ server errors can optionally be handled "silently": instead of throwing
|
|
an exception, the client returns an error response type.
|
|
an exception, the client returns an error response type.
|
|
- iterable_multibulk [EXPERIMENTAL - default: FALSE]
|
|
- iterable_multibulk [EXPERIMENTAL - default: FALSE]
|
|
- in addition to the classic way of fetching a whole multibulk reply
|
|
|
|
- into an array, the client can now optionally stream a multibulk reply
|
|
|
|
- down to the user code by using PHP iterators. It is just a little bit
|
|
|
|
|
|
+ in addition to the classic way of fetching a whole multibulk reply
|
|
|
|
+ into an array, the client can now optionally stream a multibulk reply
|
|
|
|
+ down to the user code by using PHP iterators. It is just a little bit
|
|
slower, but it can save a lot of memory in certain scenarios.
|
|
slower, but it can save a lot of memory in certain scenarios.
|
|
|
|
|
|
- * New parameters for connections:
|
|
|
|
|
|
+ * New parameters for connections:
|
|
- alias [default: not set]
|
|
- alias [default: not set]
|
|
- every connection can now be identified by an alias that is useful to
|
|
|
|
|
|
+ every connection can now be identified by an alias that is useful to
|
|
get a certain connection when connected to a cluster of Redis servers.
|
|
get a certain connection when connected to a cluster of Redis servers.
|
|
- weight [default: not set]
|
|
- weight [default: not set]
|
|
- allows the client to balance the keys asymmetrically across multiple
|
|
|
|
- servers. This might be useful when you have servers with different
|
|
|
|
- amounts of memory and you want to distribute the load of your keys
|
|
|
|
|
|
+ allows the client to balance the keys asymmetrically across multiple
|
|
|
|
+ servers. This might be useful when you have servers with different
|
|
|
|
+ amounts of memory and you want to distribute the load of your keys
|
|
accordingly.
|
|
accordingly.
|
|
- connection_async [default: FALSE]
|
|
- connection_async [default: FALSE]
|
|
- estabilish connections to servers in a non-blocking way, so that the
|
|
|
|
- client is not blocked while the underlying resource performs the actual
|
|
|
|
|
|
+ estabilish connections to servers in a non-blocking way, so that the
|
|
|
|
+ client is not blocked while the underlying resource performs the actual
|
|
connection.
|
|
connection.
|
|
- connection_persistent [default: FALSE]
|
|
- connection_persistent [default: FALSE]
|
|
- the underlying connection resource is left open when a script ends its
|
|
|
|
- lifecycle. Persistent connections can lead to unpredictable or strange
|
|
|
|
|
|
+ the underlying connection resource is left open when a script ends its
|
|
|
|
+ lifecycle. Persistent connections can lead to unpredictable or strange
|
|
behaviours, so they should be used with extreme care.
|
|
behaviours, so they should be used with extreme care.
|
|
|
|
|
|
- * Introduced the Predis\Pipeline\IPipelineExecutor interface. Classes that
|
|
|
|
- implements this interface are used internally by the Predis\CommandPipeline
|
|
|
|
- class to change the behaviour of the pipeline when writing/reading commands
|
|
|
|
|
|
+ * Introduced the Predis\Pipeline\IPipelineExecutor interface. Classes that
|
|
|
|
+ implements this interface are used internally by the Predis\CommandPipeline
|
|
|
|
+ class to change the behaviour of the pipeline when writing/reading commands
|
|
from one or multiple servers. Here is the list of the default executors:
|
|
from one or multiple servers. Here is the list of the default executors:
|
|
- Predis\Pipeline\StandardExecutor
|
|
- Predis\Pipeline\StandardExecutor
|
|
- Exceptions generated by server errors might be thrown depending on the
|
|
|
|
- options passed to the client (see "throw_on_error"). Instead, protocol
|
|
|
|
- or network errors always throw exceptions. This is the default executor
|
|
|
|
- for single and clustered connections and shares the same behaviour of
|
|
|
|
|
|
+ Exceptions generated by server errors might be thrown depending on the
|
|
|
|
+ options passed to the client (see "throw_on_error"). Instead, protocol
|
|
|
|
+ or network errors always throw exceptions. This is the default executor
|
|
|
|
+ for single and clustered connections and shares the same behaviour of
|
|
Predis 0.5.x.
|
|
Predis 0.5.x.
|
|
- Predis\Pipeline\SafeExecutor
|
|
- Predis\Pipeline\SafeExecutor
|
|
- Exceptions generated by server, protocol or network errors are not
|
|
|
|
- thrown, instead they are returned in the response array as instances of
|
|
|
|
|
|
+ Exceptions generated by server, protocol or network errors are not
|
|
|
|
+ thrown, instead they are returned in the response array as instances of
|
|
ResponseError or CommunicationException.
|
|
ResponseError or CommunicationException.
|
|
- Predis\Pipeline\SafeClusterExecutor
|
|
- Predis\Pipeline\SafeClusterExecutor
|
|
- This executor shares the same behaviour of Predis\Pipeline\SafeExecutor
|
|
|
|
|
|
+ This executor shares the same behaviour of Predis\Pipeline\SafeExecutor
|
|
but it is geared towards clustered connections.
|
|
but it is geared towards clustered connections.
|
|
|
|
|
|
- * Support for PUBSUB is handled by the new Predis\PubSubContext class, which
|
|
|
|
|
|
+ * Support for PUBSUB is handled by the new Predis\PubSubContext class, which
|
|
could also be used to build a callback dispatcher for PUBSUB scenarios.
|
|
could also be used to build a callback dispatcher for PUBSUB scenarios.
|
|
|
|
|
|
- * When connected to a cluster of connections, it is now possible to get a
|
|
|
|
- new Predis\Client instance for a single connection of the cluster by
|
|
|
|
|
|
+ * When connected to a cluster of connections, it is now possible to get a
|
|
|
|
+ new Predis\Client instance for a single connection of the cluster by
|
|
passing its alias/index to the new Predis\Client::getClientFor() method.
|
|
passing its alias/index to the new Predis\Client::getClientFor() method.
|
|
|
|
|
|
- * CommandPipeline and MultiExecBlock return their instances when invoking
|
|
|
|
|
|
+ * CommandPipeline and MultiExecBlock return their instances when invoking
|
|
commands, thus allowing method chaining in pipelines and multi-exec blocks.
|
|
commands, thus allowing method chaining in pipelines and multi-exec blocks.
|
|
|
|
|
|
* MultiExecBlock instances can handle the new DISCARD command.
|
|
* MultiExecBlock instances can handle the new DISCARD command.
|
|
|
|
|
|
- * Connections now support float values for the connection_timeout parameter
|
|
|
|
|
|
+ * Connections now support float values for the connection_timeout parameter
|
|
to express timeouts with a microsecond resolution.
|
|
to express timeouts with a microsecond resolution.
|
|
|
|
|
|
- * FIX: TCP connections now respect the read/write timeout parameter when
|
|
|
|
- reading the payload of server responses. Previously, stream_get_contents()
|
|
|
|
- was being used internally to read data from a connection but it looks like
|
|
|
|
- PHP does not honour the specified timeout for socket streams when inside
|
|
|
|
|
|
+ * FIX: TCP connections now respect the read/write timeout parameter when
|
|
|
|
+ reading the payload of server responses. Previously, stream_get_contents()
|
|
|
|
+ was being used internally to read data from a connection but it looks like
|
|
|
|
+ PHP does not honour the specified timeout for socket streams when inside
|
|
this function.
|
|
this function.
|
|
|
|
|
|
- * FIX: The GET parameter for the SORT command now accepts also multiple key
|
|
|
|
|
|
+ * FIX: The GET parameter for the SORT command now accepts also multiple key
|
|
patterns by passing an array of strings. (ISSUE #1).
|
|
patterns by passing an array of strings. (ISSUE #1).
|
|
|
|
|
|
- * FIX: Replies to the DEL command return the number of elements deleted by
|
|
|
|
|
|
+ * FIX: Replies to the DEL command return the number of elements deleted by
|
|
the server and not 0 or 1 interpreted as a boolean response. (ISSUE #4).
|
|
the server and not 0 or 1 interpreted as a boolean response. (ISSUE #4).
|
|
|
|
|
|
v0.5.1 (2010-01-23)
|
|
v0.5.1 (2010-01-23)
|
|
@@ -250,7 +250,7 @@ v0.5.1 (2010-01-23)
|
|
|
|
|
|
* Added missing support for BGREWRITEAOF for Redis >= 1.2.0
|
|
* Added missing support for BGREWRITEAOF for Redis >= 1.2.0
|
|
|
|
|
|
- * Implemented a factory method for the RedisServerProfile class to ease the
|
|
|
|
|
|
+ * Implemented a factory method for the RedisServerProfile class to ease the
|
|
creation of new server profile instances based on a version string.
|
|
creation of new server profile instances based on a version string.
|
|
|
|
|
|
v0.5.0 (2010-01-09)
|
|
v0.5.0 (2010-01-09)
|