| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| | |
Fixes a KeyError in empty `options` dict at sort's return
|
| |
| |
| |
| | |
Fixes #924
|
| |
| |
| |
| | |
Fixes #939
|
| |
| |
| |
| |
| |
| |
| | |
Lock.locked() returns a boolean indicating if the lock is acquired and valid.
Thanks Alan Justino da Silva
Fixes #1007
|
| |
| |
| |
| |
| |
| | |
Fixes #1053
Fixes #635
Fixes #766
|
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes #649
Fixes #954
Fixes #638
Fixes #721
Fixes #955
|
| |
| |
| |
| |
| | |
Fixes #621
Fixes #927
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Everyone is using Redis 2.6 or greater, right? The Lua lock implementation
is so much nicer and less buggy.
Fixes #1031
Fixes #902
Fixes #793
Fixes #610
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
All input sent to Redis is coerced into bytes. This includes key names and
values. Prior to this change, redis-py made an effort to cooerce all input
into strings by calling str() (Python 3) or unicode() (Python 2). While this
works for a handful of types like ints, longs and floats, it fails for other
types like bools ('True' or 'False'), None ('None') and many user defined
types.
Starting with redis-py version 3.0, sending input of any other type is
considered an error an a DataError exception will be raised.
Fixes #471
Fixes #472
Fixes #321
Fixes #190
|
| |
| |
| |
| | |
fixes #571
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
redis-py maintained backwards compatibility by keeping the old "Redis"
class around for quite some time. While no doubt a convenience for folks
who relied on it, the presence of both Redis and StrictRedis causes
a number of support issues and general confusion. With 3.0, we're
breaking a few things to make redis-py better going forward.
This change removes the old Redis class. We also renamed the StrictRedis
class to Redis and aliased StrictRedis to Redis. For people that have
been using StrictRedis, this should not change anything. You can continue
doing things as you are.
People still using the legacy Redis class will need to update the argument
order for the SETEX, LREM and ZADD commands. Additionally, the return values
for TTL and PTTL now return the integer values -1 when a key exists but
has no expire time and -2 when a key does not exist. Previously these
cases returned a None value in the Redis class.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously MSET, MSETNX and ZADD accepted multiple ways to specify the
mapping of keys to values including via **kwargs. This turned out to be
a poor choice. As Redis evolved and added additional options to the ZADD
command, these options couldn't be specified in redis-py without possible
element name conflictd. This fixes that going forward and makes the commands
simpler.
|
|\ \
| | |
| | | |
CLIENT PAUSE and type argument in client_list
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
Allow pings in PubSub
|
| | | | |
|
| | | | |
|
| | |/
| |/| |
|
| | |
| | |
| | |
| | | |
Signed-off-by: Itamar Haber <itamar@redislabs.com>
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- bitfields now accept a `default_overflow` argument that sets the
default overflow behavior for incrby operations
- exposed an overflow() method that sets the overflow behavior for future
incrby operations. this can be used in place of the overfly argument
to incrby if someone prefers
- clean up bitfield instance upon execution, resetting the overflow behavior
back to the default provided and clearing the list of operations
|
| | | |
|
| |/
|/| |
|
|\ \ |
|
| | |
| | |
| | |
| | | |
Remove workaround for handling unicode with older Pythons.
|
| | | |
|
| | |
| | |
| | |
| | | |
All supported Python versions support the with statement.
|
|\ \ \
| | | |
| | | | |
Add support for UNLINK command
|
| | |/
| |/| |
|
|\ \ \ |
|
| | | | |
|
| | |/
| |/|
| | |
| | | |
allow commands that expect 1 or more keys to fail gracefully when 0 keys are provided
|
| |\ \
| | | |
| | | | |
Fix parsing max_connections URL query string parameter
|
| | |/
| | |
| | |
| | |
| | | |
Previously ConnectionPool.from_url kept it as a string, causing a 'ValueError:
"max_connections" must be a positive integer'.
|
| | | |
|
| | | |
|
| |\ \
| | | |
| | | | |
Adds support for ZPOPMAX, ZPOPMIN and their respective blocking variants
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Itamar Haber <itamar@redislabs.com>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Itamar Haber <itamar@redislabs.com>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Itamar Haber <itamar@redislabs.com>
|
| | |/
| | |
| | |
| | | |
Signed-off-by: Itamar Haber <itamar@redislabs.com>
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
this is consistent with the rest of the library and is clearer
terminology to the end user
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- split out tests for each client function
- alphabetize
- make sure response callbacks return system info dicts with
native string keys rather than byte strings.
- make sure empty versions of commands that typically return a list
return an empty list when streams or messages don't exist
|
| | | |
|