2
* Implementation of all Hash commands
3
* Pipelines now wrap their execution with MULTI and EXEC commands to
4
process all commands atomically.
5
* Connections can now set timeout. If command execution exceeds the
6
timeout, an exception is raised.
7
* Numerous bug fixes and more tests.
9
* Skipped version numbers ahead so that the client version matches the
10
Redis version it is feature-compatible with. Going forward, the client
11
will stay in sync with Redis version numbers when client updates are
13
* Completely refactored the client library. It's now trivial to maintain
14
and add new commands. The library is also much more consistent.
15
* With the exception of "Response value type inference" (see below), the
16
client should be backwards compatible with 0.6.1. Some older, less
17
consistent methods will emit DeprecationWarnings, indicating that you
18
should use another command or option, but these should continue to
19
work as expected for the next few releases.
20
* WARNING: BACKWARDS INCOMPATIBLE CHANGE: "Response value type inference"
21
Previously, all values returned from Redis went through a decoding
22
process. In this process, if the response was numeric, it would be
23
automatically converted to an int or float type prior to being returned.
24
Otherwise the response would be decoded as a unicode string. This meant
25
that storing the string "123" would actually return an integer 123, and
26
that the string "foo" would be returned as the unicode object u"foo".
27
This fundamentally breaks the retrieval of binary data (byte strings) and
28
values that might accidentally look like a number (a hash value). After
29
discussing this in detail with a number of users and on the Redis mailing
30
list (http://groups.google.com/group/redis-db/browse_thread/thread/9888eb9ff383c90c/ec44fe80b6400f7b#ec44fe80b6400f7b)
31
*ALL* values returned from methods such as get() now return raw
32
Python strings. It is now your responsibility to convert that data to
33
whatever datatype you need. Other methods that *always* return integer
34
or float values, such as INCR, DECR, LLEN, ZSCORE, etc., will continue
35
returning values of the appropriate type. This resolves issue #2, #8
37
http://github.com/andymccurdy/redis-py/issues#issue/2
38
http://github.com/andymccurdy/redis-py/issues#issue/8
39
http://github.com/andymccurdy/redis-py/issues#issue/11
40
* The "select" method now takes a "host" and "port" argument in addition
41
to the database. Behind the scenes, select() swaps out the underlying
42
socket connection. This resolves issue #4:
43
http://github.com/andymccurdy/redis-py/issues#issue/4
44
* The client now supports pipelining of Redis commands. Use the pipeline()
45
method to create a new Pipeline object. Each command called on the
46
pipeline object will be buffered until the pipeline if executed.
47
A list of each command's results will be returned by execution. Use
48
this for batch processing in order to eliminate multiple request/response
52
* Added support for ZINCRBY via the `zincr` command
53
* Swapped score and member parameters to zadd to make it more similar to other commands.
54
* Added support for Python 2.4 (thanks David Moss)
55
* 0.6.0 Changed to Andy McCurdy's codebase on github
56
* 0.5.5 Patch from David Moss, SHUTDOWN and doctest bugfix
57
* 0.5.1-4 Bugfixes, no code changes, just packaging, 10/2/09
58
* 0.5 Initial release, redis.py version 1.0.1, 10/2/09