12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- v0.6.0
- * Completely 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.
- * Support for Redis 1.0 is now optional and it is provided by requiring
- 'Predis_Compatibility.php' before creating an instance of Predis_Client.
- * New commands added to the Redis 2.0 profile since Predis 0.5.1:
- - Strings: SETEX, APPEND, SUBSTR
- - ZSets : ZCOUNT, ZRANK, ZUNIONSTORE, ZINTERSTORE, ZREMBYRANK, ZREVRANK
- - Hashes : HSET, HSETNX, HMSET, HINCRBY, HGET, HMGET, HDEL, HEXISTS,
- HLEN, HKEYS, HVALS, HGETALL
- - PubSub : PUBLISH, SUBSCRIBE, UNSUBSCRIBE
- - 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
- accepts an instance of Predis_RedisServerProfile in its second argument.
- The currently supported client options are:
- - 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
- that indicates the target version.
- - key_distribution [default: Predis_Utilities_HashRing]
- specifies which key distribution algorithm to use to distribute keys
- among the servers that compose a cluster. This option accepts an
- instance of Predis_IDistributionAlgorithm so that users can implement
- their own key distribution strategy. Optionally, the new
- Predis_Utilities_KetamaPureRing class also provides a pure-PHP
- implementation of the Ketama algorithm.
- - throw_on_error [default: TRUE]
- server errors can optionally be handled "silently": instead of throwing
- an exception, the client returns an error response type.
- - 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
- slower, but it can save a lot of memory in certain scenarios.
- * New parameters for connections:
- - alias [default: not set]
- 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.
- - 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
- accordingly.
- - 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
- connection.
- - 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
- behaviours, so they should be used with extreme care.
- * Connections now support float values for the connection_timeout parameter
- to express timeouts with a microsecond resolution.
- * CommandPipeline and MultiExecBlock return their instances when invoking
- commands, thus allowing method chaining in pipelines and multi-exec blocks.
- * MultiExecBlock instances can handle the new DISCARD command.
- * The GET parameter for the SORT command now accepts also multiple key
- patterns by passing an array of strings.
- * KEYS will return a multibulk reply starting from Redis 2.0 (DEV). Predis
- handles this change in a backwards-compatible way.
- * Switched to class-based handlers instead of anonymous functions to
- handle the various server response types.
- v0.5.1
- * RPOPLPUSH has been changed from bulk command to inline command in Redis
- 1.2.1, so ListPopLastPushHead now extends InlineCommand. The old RPOPLPUSH
- behavior is still available via the ListPopLastPushHeadBulk class so that
- you can override the server profile if you need the old (and uncorrect)
- behaviour when connecting to a Redis 1.2.0 instance.
- * Added missing support for BGREWRITEAOF for Redis >= 1.2.0
- * Implemented a factory method for the RedisServerProfile class to ease the
- creation of new server profile instances based on a version string.
- v0.5.0
- * First versioned release of Predis
|