summaryrefslogtreecommitdiff
path: root/redis/client.py
Commit message (Collapse)AuthorAgeFilesLines
* use a single arg for adding and removing of "passwords" and "hashed_passwords"aclAndy McCurdy2019-12-281-75/+92
| | | | also ensure unicode values are properly encoded
* need to supply string to interpolateAndy McCurdy2019-12-281-1/+1
|
* re-order args makes more senseAndy McCurdy2019-12-281-2/+2
|
* cleanup docstringAndy McCurdy2019-12-281-21/+24
|
* Fixjamie.scott@uconn.edu2019-12-281-1/+1
|
* Forgot to modify commentsjamie.scott@uconn.edu2019-12-281-4/+13
| | | | Modifying comments for code documentation.
* Refactoring for conversationjamie.scott@uconn.edu2019-12-281-9/+18
| | | | Refactoring per our conversation on git.
* pep 8Jamie Scott2019-12-281-4/+4
| | | pep8
* Add support for hashed passwordsJamie Scott2019-12-281-4/+12
|
* ACL SETUSER now accepts add_passwords and remove_passwordsAndy McCurdy2019-12-281-14/+27
| | | | | add_passwords is a string or list of passwords to add to the user remove_passwords is a string or list of passwords to remove from the user
* pep8Andy McCurdy2019-12-281-2/+3
|
* ACL SETUSER tweaksAndy McCurdy2019-12-281-17/+12
| | | | | | * The "enabled" flag now defaults to False * Categories must be prefixed with "+@" or "-@" * Commands must be prefixed with "+" or "-"
* Implemented ACL GETUSER, ACL SETUSER, ACL DELUSER and ACL LISTAndy McCurdy2019-12-281-0/+135
|
* Implement ACL LOAD and ACL SAVE.Andy McCurdy2019-12-281-0/+20
| | | | No tests yet for these as they depend on server configuration
* Implement ACL USERSAndy McCurdy2019-12-281-0/+5
|
* Implement ACL CATAndy McCurdy2019-12-281-3/+15
|
* Implement ACL GENPASSAndy McCurdy2019-12-281-0/+5
|
* Implement ACL WHOAMIAndy McCurdy2019-12-281-0/+7
|
* Added support for usernamesAndy McCurdy2019-12-281-4/+5
| | | | | | | | * Redis and Connection classes now accept a username argument. * URLs now look for and parse usernames. * If a username is set, it is sent to the AUTH command when a connection is established. * NoPermissionError is raised in the event of a NOPERM response
* Fix TypeError by passing optional decode_responses keyword argument d… (#1239)Jakob Keller2019-11-111-2/+5
| | | | * Fix TypeError by passing optional decode_responses keyword argument down to parse_slowlog_get()
* Add equality test on Redis client and conn pool (#1240)Rajiv Bakulesh Shah2019-11-111-0/+6
| | | Add equality test on Redis client and connection pool
* Fix misplaced space (#1237)Thomas Matecki2019-10-271-1/+1
| | | Sorry, I'm a pendant.
* Allow Pipeline.execute() to execute on empty command stack if it is watching ↵Brian Maissy2019-10-241-1/+1
| | | | keys
* version 3.3.8, fix MONITOR output to account for all types of clients3.3.8huangwei-ds52019-08-191-2/+16
| | | | | | | | | | The client section of MONITOR output varies for TCP connections, unix socket connections and commands executed from Lua scripts. Account for each of these cases by including an additional key `client_type` in the MONITOR output. `client_type` will be one of ('tcp', 'unix', 'lua'). `client_address` and `client_port` vary based on the `client_type`. Fixes #1201
* Pipelines shouldn't retry ConnectionErrors implicitlyAndy McCurdy2019-07-281-15/+24
|
* Add an Event parameter to PubSubWorkerThread and run_in_thread so (#1195)Timothy Rule2019-07-281-5/+5
| | | | The PubSubWorkerThread now uses a `threading.Event` to control its life cycle.
* PING/PONG health checksAndy McCurdy2019-07-281-11/+42
| | | | | | | | | | | | | | | | | | | | | | The `Redis` class and the `ConnectionPool` class now support the "health_check_interval=N" option. By default N=0, which turns off health checks. `N` should be an integer, and when greater than 0, ensures that a health check is performed just before command execution anytime the underlying connection has been idle for more than N seconds. A health check is a full PING/PONG round trip to the Redis server. If a health check encounters a ConnectionError or TimeoutError, the connection is disconnected and reconnected and the health check is retried exactly once. Any error during the retry is raised to the caller. Health check retries are not governed by any other options such as `retry_on_timeout`. In systems where idle times are common, these health checks are the intended way to reconnect to the Redis server without harming any user data. When this option is enabled for PubSub connections, calling `get_message()` or `listen()` will send a health check anytime a message has not been read on the PubSub connection for `health_check_interval` seconds. Users should call `get_message()` or `listen()` at least every `health_check_interval` seconds in order to keep the connection open.
* Ability to create a client that uses a single connectionAndy McCurdy2019-07-231-10/+32
| | | | | | | | | | | | | This has multiple uses: * Single connection clients will not be considered threadsafe. This means certain settings could temporarily be adjusted. For example, a context manager could temporarily modify the encoding behavior for a set of commands. * We can introduce more thorough health checks that only happen when a connection is handed out from the connection pool. * Workloads that issue many commands to Redis should be slightly faster. Prior to this change, the client must retrieve a connection from the pool for each command.
* Handle removed claimed messages without an exceptionThomas Daskalakis2019-07-171-1/+7
| | | | Fixes #1191
* Add READONLY and READWRITE commandsTheo Despoudis2019-07-091-2/+10
|
* case insensitive response callbacks.Andy McCurdy2019-05-281-1/+29
| | | | | | | this change allows users to call client.execute_command('info') or client.execute_command('INFO') and get the same parsed result. Fixes #1168
* remove Token class in favor of bytestringremove_tokenAndy McCurdy2019-05-281-79/+81
| | | | | | | The Token class was needed when supporting Python 2.6. Now that we've dropped support for 2.6, we don't need it anymore. Fixes #1066
* add tests for encoding issues and fix bugs foundAndy McCurdy2019-05-261-1/+1
|
* monitor command now has full command text. test suite improvedAndy McCurdy2019-05-261-4/+8
|
* Merge branch 'master' into monitorAndy McCurdy2019-05-261-2/+4
|\
| * Merge pull request #1152 from aachurin/masterAndy McCurdy2019-04-291-2/+4
| |\ | | | | | | Fix for https://github.com/andymccurdy/redis-py/issues/1135
| | * Update client.pyaachurin2019-03-161-2/+4
| | | | | | | | | Fix for https://github.com/andymccurdy/redis-py/issues/1135
* | | Merge branch 'pr/1033' into monitorAndy McCurdy2019-04-251-0/+49
|\ \ \ | |/ / |/| |
| * | Added support for the monitor command.Doug Kisabaka2019-02-251-0/+49
| |/
* | Fix PubSubWorkerThread race conditionAndy McCurdy2019-04-181-13/+8
|/ | | | | | | | | | | | Resolves a race condition found in the PubSubWorkerThread. Prior to this change is was possible to receive the server's resonse to an unsubscribe message prior to the channel/pattern being added to the pending_unsubscribe set. This also improves PubSubWorkerThread.stop so that the run function is stopped immediately after the next iteration. fixes #1150
* Merge pull request #1023 from ycraaron/1022-fix-retry-logicAndy McCurdy2019-01-271-2/+4
|\ | | | | 1022: Fix retry logic for StricRedis and PubSub
| * put not outside of the parenthesesAaron Yang2018-09-021-2/+2
| |
| * fix retry for PubSubAaron Yang2018-08-231-1/+2
| |
| * pep8Aaron Yang2018-08-231-1/+2
| |
| * fix retry logic for StricRedisAaron Yang2018-08-231-1/+1
| |
* | Added a test for #1126Andy McCurdy2019-01-271-2/+2
| |
* | Merge pull request #1126 from guybe7/geohash_fixAndy McCurdy2019-01-271-1/+7
|\ \ | | | | | | GEOHASH response may contain None elements
| * | GEOHASH response may contain None elementsGuy Benoish2019-01-231-1/+7
| | |
* | | Merge branch 'master' into xreadgroup_handle_nil_fieldsAndy McCurdy2019-01-271-1/+4
|\ \ \ | |/ /
| * | Added noack option for XREADGROUPJohn T. Myers2019-01-101-1/+4
| | |