v0.x.x * New commands added for the Redis 2.0 (DEV) profile: - Strings: APPEND, SUBSTR - ZSets : ZCOUNT, ZRANK, ZUNION, ZINTER, ZREMBYRANK, ZREVRANK - Hashes : HSET, HINCRBY, HGET, HDEL, HEXISTS, HLEN, HKEYS, HVALS, HGETALL - Misc. : DISCARD, CONFIG * 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. * 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. * 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_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. * 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. * Server errors can optionally be handled "silently": instead of throwing an exception, the client returns a error response type. 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