This is a maintenance release for the 0.8 series shipping mostly bug fixes. What follows is an overview of the changes and bug fixes introduced in this new release, details are also available in the CHANGELOG.
Bug fixes and changes
Redis commands
- Added
DUMP
andRESTORE
to the server profile for Redis v2.6. (see related issue) - Fixed
HMSET
to work with cluster, this bug was apparently introduced in Predis v0.8.0. (see related issue) - Modified
ZRANGE
,ZREVRANGE
,ZRANGEBYSCORE
andZREVRANGEBYSCORE
to effectively use theWITHSCORE
modifier only when the value of the option passed to the command isTRUE
. (see related pull request)
Scripted commands and key prefixing
Predis failed to handle falling back from EVALSHA
to EVAL
using scripted commands with no arguments defined for KEYS[]
when the client was configured to use key prefixing. (see related pull request)
Failing host reported in exception messages
When a connection error occurs, such as when Predis is not able to connect to a server, the exception message now includes the incriminated Redis server: Connection refused [tcp://127.0.0.1:3322]
. This can be handy to debug or log errors especially when using multiple nodes in a replication or cluster configuration. (see related pull request)
DispatcherLoop
The pub/sub-based DispatcherLoop class has been fixed to properly work when using a prefixed client instance. (see related pull request)
PhpiredisConnection
This connection backend now uses gethostbynamel to handle hostnames with multiple IP addresses associated and randomly choses one of them. This is mostly useful to distribute the load on multiple Redis instances configured as read-only slaves sitting behind one single hostname. (see related pull request)