summaryrefslogtreecommitdiff
path: root/redis/client.py
Commit message (Collapse)AuthorAgeFilesLines
* Fix `XAUTOCLAIM` to return the full response (#2252)dvora-h2022-06-271-1/+2
| | | | | * fix parse_xautoclaim * linters
* Fix retries in async mode (#2180)Eric Lemoine2022-06-191-1/+3
| | | | | | | | | * Avoid mutating a global retry_on_error list * Make retries config consistent in sync and async * Fix async retries * Add new TestConnectionConstructorWithRetry tests
* Made sync lock consistent and added types to it (#2137)Anas2022-06-011-0/+8
| | | | | | | | | * Made sync lock consistent and added types to it * Made linters happy * Fixed cluster client lock signature Co-authored-by: dvora-h <67596500+dvora-h@users.noreply.github.com>
* Get command keys for subcommands (#2170)dvora-h2022-05-081-0/+4
| | | | | * parse subcommands * fix tests
* Add Async RedisCluster (#2099)Utkarsh Gupta2022-05-081-12/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Copy Cluster Client, Commands, Commands Parser, Tests for asyncio * Async Cluster Tests: Async/Await * Add Async RedisCluster * cluster: use ERRORS_ALLOW_RETRY from self.__class__ * async_cluster: rework redis_connection, initialize, & close - move redis_connection from NodesManager to ClusterNode & handle all related logic in ClusterNode class - use Locks while initializing or closing - in case of error, close connections instead of instantly reinitializing - create ResourceWarning instead of manually deleting client object - use asyncio.gather to run commands/initialize/close in parallel - inline single use functions - fix test_acl_log for py3.6 * async_cluster: add types * async_cluster: add docs * docs: update sphinx & add sphinx_autodoc_typehints * async_cluster: move TargetNodesT to cluster module * async_cluster/commands: inherit commands from sync class if possible * async_cluster: add benchmark script with aredis & aioredis-cluster * async_cluster: remove logging * async_cluster: inline functions * async_cluster: manage Connection instead of Redis Client * async_cluster/commands: optimize parser * async_cluster: use ensure_future & generators for gather * async_conn: optimize * async_cluster: optimize determine_slot * async_cluster: optimize determine_nodes * async_cluster/parser: optimize _get_moveable_keys * async_cluster: inlined check_slots_coverage * async_cluster: update docstrings * async_cluster: add concurrent test & use read_response/_update_moved_slots without lock Co-authored-by: Chayim <chayim@users.noreply.github.com>
* ACL SETUSER - add selectors and key based permissions (#2161)dvora-h2022-05-031-0/+13
| | | | | | | * acl setuser * async tests Co-authored-by: Chayim <chayim@users.noreply.github.com>
* Update FUNCTION LOAD changes (#2139)dvora-h2022-04-271-1/+0
|
* Extended "CLUSTER NODES" parser to support special slot entries (importing, ↵Bar Shaul2022-04-041-5/+28
| | | | | | | migrating). (#2080) See https://redis.io/commands/cluster-nodes/#special-slot-entries Co-authored-by: dvora-h <67596500+dvora-h@users.noreply.github.com>
* Add support to use certificates from string in ssl connection (#2048)dvora-h2022-03-141-0/+2
| | | | | | | | | * ssl string cert * fix async test * linters * change test name
* Fix: avoiding issue with PytestUnraisableExceptionWarning (#1458)Alon Diamant2022-03-141-0/+6
| | | | | | | | | * Fix: avoiding issue with PytestUnraisableExceptionWarning that is raised because of __del__() calling self.close() in Redis class, as the self.connection attribute was not set due to early failure in the Redis() constructor. Example: calling redis.StrictRedis(**connectionInfo) in a constructor, with connectionInfo={'hog':'cat'} * linters * linters Co-authored-by: dvora-h <67596500+dvora-h@users.noreply.github.com>
* Add support for CLUSTER DELSLOTSRANGE (#2018)dvora-h2022-03-141-0/+1
| | | | | | | | | | | * delslotsrange * test * linters * skip test * linters
* Add support for CLUSTER ADDSLOTSRANGE (#2017)dvora-h2022-03-141-0/+1
| | | | | | | | | | | | | * add cluster addslotsrange * Add support for CLUSTER ADDSLOTSRANGE * docstring * fix test * skip test * linters
* Implement locks for RedisCluster (#2013)Jake Barnwell2022-03-011-1/+4
| | | | | | | | | | | | | | | | | | | * Add support for .lock() for RedisCluster * Update changelog with lua scripting and lock() changes * Also update asyncio client .lock() doc * Add Python 3.6 back to hash verify CI (#2008) * Renaming chore as maintenance (#2015) * Add AsyncFunctionCommands (#2009) * Also update asyncio client .lock() doc Co-authored-by: Chayim <chayim@users.noreply.github.com> Co-authored-by: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com> Co-authored-by: dvora-h <dvora.heller@redis.com>
* Add support for Redis 7 functions (#1998)dvora-h2022-02-221-0/+4
| | | | | | | | | | | | | | | | | | | * add function support * linters * test fcall * decode reponses for unstable_r * linters * fix evalsho_ro test * fix eval_ro test * add response callbaks * linters
* Add Async Support (#1899)Andrew Chen Wang2022-02-221-13/+15
| | | | Co-authored-by: Chayim I. Kirshen <c@kirshen.com> Co-authored-by: dvora-h <dvora.heller@redis.com>
* Fixing LMOVE, BLMOVE returning an incorrect response (#1906)Varun Chopra2022-01-271-2/+2
|
* OCSP Stapling Support (#1873)Chayim2022-01-171-0/+6
|
* Triple quote docstrings in client.py PEP 257 (#1876)Andrew Chen Wang2022-01-121-22/+19
|
* Documentation cleanup (#1841)Chayim2021-12-301-0/+1
|
* OCSP stapling support (#1820)Chayim2021-12-261-0/+2
|
* Fixing read race condition during pubsub (#1737)Bar Shaul2021-12-231-6/+68
|
* Support for specifying error types with retry (#1817)Bar Shaul2021-12-231-7/+14
|
* Support for RESET command since Redis 6.2.0 (#1824)Chayim2021-12-221-0/+1
|
* Fixing exception in listen (#1823)dvora-h2021-12-221-0/+2
|
* Allow ssl_ca_path with rediss:// urls (#1814)Chayim2021-12-191-0/+1
|
* Support for password-encrypted SSL private keys (#1782)Chayim2021-12-161-0/+3
| | | Adding support for SSL private keys with a password. This PR also adds support for future SSL tests.
* Migrated targeted nodes to kwargs in Cluster Mode (#1762)Bar Shaul2021-12-011-0/+12
|
* Added black and isort (#1734)Anas2021-11-301-492/+540
|
* Pyupgrade + flynt + f-strings (#1759)Aarni Koskela2021-11-301-9/+9
| | | @akx Thank you so much for this! Thanks again for introducing me to a new tool that I'm sliding into my workflow as well.
* Removing duplication of Script class (#1751)Chayim2021-11-251-36/+0
|
* Adding support for non-decodable commands (#1731)Chayim2021-11-251-1/+7
|
* Adding RedisCluster client to support Redis Cluster Mode (#1660)Bar Shaul2021-11-251-6/+33
| | | | Co-authored-by: Chayim <chayim@users.noreply.github.com> Co-authored-by: Anas <anas.el.amraoui@live.com>
* fix: adding sentinelcommands to redis client (#1723)Sam Culley2021-11-211-2/+3
| | | Co-authored-by: Sam Culley <sam.culley@novatiq.com>
* Removing command on initial connections (#1722)v4.0.1Chayim2021-11-171-18/+0
|
* Unit tests fixes for compatibility (#1703)Chayim2021-11-141-21/+20
|
* Docstring improvements for Redis class (#1675)Chayim2021-11-091-2/+4
|
* Added boolean parsing to PEXPIRE and PEXPIREAT (#1665)Anas2021-11-021-1/+2
|
* Exposing the module version in loaded_modules (#1648)Chayim2021-10-261-1/+2
| | | | This is useful for the case where one wants to instantiate a module, knowing the back end version. The reason: behaviour may differ based on redis module versions.
* redisjson support (#1636)Chayim2021-10-251-5/+43
|
* Add FULL option to XINFO SUMMARY (#1638)Agustin Marquez2021-10-251-7/+17
|
* CLIENT REDIR command support (#1623)Chayim2021-10-181-0/+1
|
* Remove unused BitFieldOperation in client.py (#1590)Andrew Chen Wang2021-10-141-97/+0
|
* Auto-reconnect PubSub on `get_message` (#1574)Theron Luhn2021-09-301-1/+4
|
* Pipeline DISCARD support (#1565)Chayim2021-09-011-0/+6
| | | | | closes #1539 Part of #1546
* Adding DELUSER list of users support (#1562)Chayim2021-09-011-0/+1
| | | | | Adding support for ACL help Part of #1546
* Support for CLIENT TRACKINFO (#1560)Chayim2021-09-011-0/+1
| | | Part of #1546
* GEOSEARCH and GEOSEARCHSTORE (#1526)Avital Fine2021-09-011-5/+11
| | | | | | | | | | | | | * GEOSEARCH and GEOSEARCHSTORE * negative test * change georadius_generic to geosearch_generic * add documentations to the functions * add docstring to the parser * farest
* Support for QUIT (#1557)Chayim2021-09-011-0/+1
| | | Part of #1546
* Support for command count (#1554)Chayim2021-09-011-0/+2
| | | Part of #1546
* Includes slowlog complexity info if available (#1489)Ian Bucad2021-08-291-11/+17
| | | | | | | | | | | | * Return slowlog complexity info if available based on https://github.com/andymccurdy/redis-py/pull/622 * Add tests Copied from https://github.com/andymccurdy/redis-py/pull/622 * address flake E306 * Trigger Build