| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
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
|
| |
|
|
| |
fixes #965
|
| | |
|
| |
|
|
|
| |
on python2.7, repr() on a long produces '123L', which is clearly not what
we want
|
| |
|
|
|
| |
This should be backwards compatible since DataError is a subclass of
RedisError.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |\
| |
| | |
add migrate command
|
| | | |
|
| | | |
|
| |\ \
| | |
| | | |
CLIENT PAUSE and type argument in client_list
|
| | | | |
|
| | | |
| | |
| | | |
I know @RoeyPrat has a lot on his plate atm so taking some liberty here.
|
| | | | |
|
| | | | |
|
| |\ \ \
| | | |
| | | | |
Allow pings in PubSub
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
According to https://redis.io/topics/pubsub, “The commands that are allowed in the context of a subscribed client are SUBSCRIBE, PSUBSCRIBE, UNSUBSCRIBE, PUNSUBSCRIBE, PING and QUIT.”
According to https://redis.io/commands/ping, “If the client is subscribed to a channel or a pattern, it will instead return a multi-bulk with a "pong" in the first position and an empty bulk in the second position, unless an argument is provided in which case it returns a copy of the argument.”
|
| |\ \ \ \
| |_|_|/
|/| | | |
Adds the memory_usage and memory_purge commands
|
| | | | |
| | | |
| | | |
| | | | |
Signed-off-by: Itamar Haber <itamar@redislabs.com>
|
| |\ \ \ \
| |/ / /
|/| | | |
Removes `sudo` from README
|
| | | | | |
|
| | | | | |
|
| |/ / / |
|
| |\ \ \
| | | |
| | | | |
Adds `sync` flag to flushdb and flushall
|
| | | | |
| | | |
| | | |
| | | | |
Signed-off-by: Itamar Haber <itamar@redislabs.com>
|
| |/ / /
| | |
| | |
| | |
| | |
| | | |
Uses sync as async is a keyword. Defaults to Redis pre v4 behavior.
Signed-off-by: Itamar Haber <itamar@redislabs.com>
|
| |\ \ \
| |_|/
|/| | |
Bitfields
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- 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
|
| | | | |
|
| |/ / |
|
| | | |
|
| |\ \ |
|
| | | |
| | |
| | |
| | |
| | | |
Now that redis-py has removed support for EOL Pythons, can once again
run tests using the latest version of pytest.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Helps pip decide what version of the library to install.
https://packaging.python.org/tutorials/distributing-packages/#python-requires
> If your project only runs on certain Python versions, setting the
> python_requires argument to the appropriate PEP 440 version specifier
> string will prevent pip from installing the project on other Python
> versions.
https://setuptools.readthedocs.io/en/latest/setuptools.html#new-and-changed-setup-keywords
> python_requires
>
> A string corresponding to a version specifier (as defined in PEP 440)
> for the Python version, used to specify the Requires-Python defined in
> PEP 345.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Python 3.3 is EOL. It is no longer receiving bug fixes, including for
security issues. It has been EOL since 2017-09-29. For additional
details of the status of Python versions, see:
https://devguide.python.org/#status-of-python-branches
|
| | | | |
|
| | | |
| | |
| | |
| | | |
Remove workaround for handling unicode with older Pythons.
|
| | | |
| | |
| | |
| | | |
Available on all supported Python versions.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|