mirror of
https://github.com/predis/predis.git
synced 2026-10-10 22:07:31 +00:00
a5cc48d85fdfacf78cc89e2f0255da76c0b6dc18
104 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
9318232e8d |
Merge main into 3.x (#1342)
* Changed command arguments (#1330) * Re-implement CLIENT command as container command (#1337) * Resolve merge conflicts * Merge 2.x into main (#1341) * Codestyle changes related to php-cs-fixer update (#1311) * Codestyle changes * Added missing type-hints * Added GETDEL command to KeyPrefixProcessor (#1306) * Added GETDEL command to KeyPrefixProcessor * Added test coverage * Codestyle fixes * Added timeout after FT.CREATE call * Added support for JSON.MERGE command (#1304) * Added support for JSON.MSET command (#1307) * Fixed subcommand test bug (#1313) * Update CHANGELOG.md * Update CHANGELOG.md * Fixed bug with incorrect multiple words processing (#1325) * Fixed bug with incorrect multiple words processing * Convert subcommand string to lower case * Update SubcommandStrategyResolver.php * Added test coverage * Codestyle fixes --------- Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> * Added support for FUNCTION DUMP, FUNCTION FLUSH, FUNCTION RESTORE commands (#1332) * Added support for CLIENT NO-EVICT command (#1335) * Added support for FUNCTION KILL, FUNCTION LIST, FUNCTION STATS commands (#1334) * Added support for FUNCTION KILL, FUNCTION LIST, FUNCTION STATS commands * Marked tests as relay-incompatible * Added support for tests running against redis cluster (#1236) * Added support for tests running against redis cluster * Test coverage * Added comment about master nodes * Codestyle fix * Revert changes * Revert DBNUM * Added cluster endpoints to relay tests env configuration * Exclude cluster tests from relay tests environment * Removed TODO comment * Changed cluster image version to unstable * Updated configuration to match unstable cluster * Fixed path * Updated cluster CI configuration * Removed redundant flag * Removed backslash * Updated file path * Updated file path variable * Added docker cluster initialization as additional step * Run cluster tests as separate workflow * Codestyle fixes * Updated exported files * Added additional timeout so cluster image could be settled * Added support for different cluster image, use docker compose for cluster tests CI * Remove unused flag * Removed variable from volume path * Added sleep timeout to allow docker setup after running * Added timeout before tests run * Updated linter settings * Include indent changes for.sh files * Added missing coverage * Revert expected files and mark docker folder as exclusion * Specify folder itself as excluded * Moved cluster tests as separate job in tests.yml * Updated name to contain cluster word --------- Co-authored-by: Chayim <chayim@users.noreply.github.com> --------- Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> Co-authored-by: Chayim <chayim@users.noreply.github.com> --------- Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> Co-authored-by: Chayim <chayim@users.noreply.github.com> |
||
|
|
4195f137ef |
RESP3 commands integration tests and response handling (#1300)
* Added ACL RESP3 integration tests * Added RESP3 commands integration tests and response handling * Fixed required server versions * Added more integration tests for RESP3 responses * Move static strings to constants * Codestyle fixes * Codestyle fixes * Change non-existing key name * Change non-existing key name * Added RESP3 test coverage for JSON module * Added new assertion, fixed RESP3 JSON responses and versions * Added feature tests on timeseries module RESP3 responses * Updated version decorators * Added feature tests on bloom filter module RESP3 responses * Added feature tests on search module RESP3 responses * Mark tests as relay-incompatible * Added feature tests on cms, cuckoo filters RESP3 responses * Revert changes * Increased time intervals to avoid test failures * Added feature tests on tdigest, topk filters RESP3 responses * Updated test case responses * Codestyle fix |
||
|
|
f239e989fe | Resolve merge conflicts | ||
|
|
e831a3ef34 |
2.x main sync (#1317)
* Added support for Redis JSON module commands, added JSON.SET and JSON.GET commands (#868) * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Fixed naming issue with nxXx argument * Removed redundant trait * Fixed NxXxArgument test * add Redis stack tests * don't run tests twice * use * Update stack.yml * Rename workflows * Added version 6.x to workflow * Removed exception thrown to avoid version bug * Resolve conflicts within tests.yml * Codestyle fixes * Removew trailing whitespaces Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> * Added support for Bloom Filters module, added support for BF.ADD, BF.EXISTS commands (#874) * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Added support for BF.ADD and BF.EXISTS commands * Fixed bug with incorrect tests skip * Changed module name according to original naming * Revert some old changes * Fixed misspelling Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> * Added support for Cuckoo Filter, added CF.ADD and CF.EXISTS commands (#907) * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Added support for BF.ADD and BF.EXISTS commands * Fixed bug with incorrect tests skip * Changed module name according to original naming * Added support for CF.ADD and CF.EXISTS commands * Removed old files * Revert old changes Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> * Extended Bloom filters by implementing BF.INFO command (#886) * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Added support for BF.ADD and BF.EXISTS commands * Added support for BF.INFO command * Fixed arguments data provider * Fixed bug with incorrect tests skip * Added command description * Removed unused import * Removed old directory Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> * Extend Bloom filters by imlplementing BFMADD and BFMEXISTS commands (#887) * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Added support for BF.ADD and BF.EXISTS commands * Fixed bug with incorrect tests skip * Added support for BF.MADD and BF.MEXISTS commands * Removed old file * Revert changes Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> * Extended Bloom Filters by implementing BF.RESERVE command (#888) * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Added support for BF.ADD and BF.EXISTS commands * Added support for BF.INFO command * Fixed arguments data provider * Fixed bug with incorrect tests skip * Added support for BF.RESERVE command * Added command description * Codestyle fixes * Added missing test Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> * Extended Bloom Filter by implementing BF.SCANDUMP command (#889) * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Added support for BF.ADD and BF.EXISTS commands * Fixed bug with incorrect tests skip * Added support for BF.SCANDUMP command Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> * Extended Bloom Filters by implementing BF.LOADCHUNK command (#890) * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Added support for BF.ADD and BF.EXISTS commands * Fixed bug with incorrect tests skip * Added support for BF.SCANDUMP command * Added support for BF.LOADCHUNK command * Codestyle fixes * Sort alphabetical Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> * Extended Bloom Filter support by implementing BF.INSERT command (#891) * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Added support for BF.ADD and BF.EXISTS commands * Added support for BF.INFO command * Fixed arguments data provider * Fixed bug with incorrect tests skip * Added support for BF.RESERVE command * Added command description * Added support for BF.INSERT command Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> * Extended Redis JSON support by implementing JSON.MGET (#892) * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Fixed naming issue with nxXx argument * Removed redundant trait * Fixed NxXxArgument test * Added support for JSON.MGET command Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> * Extended RedisJson support by implementing JSON.DEL command (#909) * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Fixed naming issue with nxXx argument * Removed redundant trait * Fixed NxXxArgument test * Added support for JSON.DEL command Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> * Extended RedisJson support by implementing JSON.OBJKEYS command (#911) * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Fixed naming issue with nxXx argument * Removed redundant trait * Fixed NxXxArgument test * Add support for JSON.OBJKEYS command Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> * Extended RedisJson support by implementing JSON.OBJLEN command (#913) * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Fixed naming issue with nxXx argument * Removed redundant trait * Fixed NxXxArgument test * Added support for JSON.OBJLEN command Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> * Extended RedisJson support by implementing JSON.STRAPPEND command (#915) * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Fixed naming issue with nxXx argument * Removed redundant trait * Fixed NxXxArgument test * Added support for JSON.STRAPPEND command * Codestyle fix Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> * Extended RedisJson support by implementing JSON.STRLEN command (#917) * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Fixed naming issue with nxXx argument * Removed redundant trait * Fixed NxXxArgument test * Added support for JSON.STRLEN command Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> * Extended RedisJson support by implementing JSON.NUMINCRBY command (#919) * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Fixed naming issue with nxXx argument * Removed redundant trait * Fixed NxXxArgument test * Added support for JSON.NUMINCRBY command Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> * Extended RedisJson support by implementing JSON.ARRAPPEND command (#924) * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Fixed naming issue with nxXx argument * Removed redundant trait * Fixed NxXxArgument test * Added support for JSON.ARRAPPEND command Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> * Extended RedisJson support by implementing JSON.ARRINDEX command (#927) * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Fixed naming issue with nxXx argument * Removed redundant trait * Fixed NxXxArgument test * Added support for JSON.ARRINDEX command * Codestyle fies Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> * Extended RedisJson support by implementing JSON.ARRINSERT command (#929) * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Fixed naming issue with nxXx argument * Removed redundant trait * Fixed NxXxArgument test * Added support for JSON.ARRINSERT command * Revert changes Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> * Extended RedisJson support by implementing JSON.ARRLEN command (#931) * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Fixed naming issue with nxXx argument * Removed redundant trait * Fixed NxXxArgument test * Add support for JSON.ARRLEN command Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> * Extended RedisJson support by implementing JSON.ARRPOP command (#933) * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Fixed naming issue with nxXx argument * Removed redundant trait * Fixed NxXxArgument test * Added support for JSON.ARRPOP command Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> * Extended RedisJson support by implementing JSON.ARRTRIM command (#936) * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Fixed naming issue with nxXx argument * Removed redundant trait * Fixed NxXxArgument test * Added support for JSON.ARRTRIM command Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> * Extended RedisJson support by implementing JSON.CLEAR command (#1004) * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Fixed naming issue with nxXx argument * Removed redundant trait * Fixed NxXxArgument test * Added support for JSON.CLEAR command Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> * Extended RedisJson support by implementing JSON.RESP command (#1006) * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Fixed naming issue with nxXx argument * Removed redundant trait * Fixed NxXxArgument test * Added support for JSON.RESP command * Removed debugger Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> * Extended RedisJson support by implementing JSON.TOGGLE command (#1008) * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Fixed naming issue with nxXx argument * Removed redundant trait * Fixed NxXxArgument test * Added support for JSON.TOGGLE command Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> * Extended RedisJson support by implementing JSON.TYPE command (#1010) * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Fixed naming issue with nxXx argument * Removed redundant trait * Fixed NxXxArgument test * Added support for JSON.TYPE command Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> * Extending RedisJson support by implementing JSON.FORGET command (#1012) * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Added CommandResolver, moved resolve command logic there, added ClientConfiguration object * Fixed test, added dependecies * Added resolved command to commands array * Used aggregation approach for modules * Added decorator to check Redis JSON module version * Added support for JSON.SET and JSON.GET commands * Added separate workflow for redis-stack tests * Changed docker imange name to correct one * Fixed indentation * Added test coverage for JSON.GET command * Changed module version resolving using annotations mapping * Re-written CommandResolver test * Update ClientInterface.php * Changes to CI, readme, removed unused modules from configuration * Fixed build badge URL * Refactored annotation check to be generic for each module * Fixed bug with incorrect tests skip * Fixed naming issue with nxXx argument * Removed redundant trait * Fixed NxXxArgument test * Added support for JSON.FORGET command Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> * Add Support for CF.ADDNX (#1048) * add support for CF.ADDNX * fix key name * fix wrong command * Added support for CF.COUNT command (#1052) Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> * Support CF.MEXISTS Command (#1081) * add support for CF.ADDNX * fix key name * fix wrong command * Support CF.MEXISTS Command * fix test * Add more assertions * Added support for CF.INFO command (#1082) Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> * Added support for CF.DEL command (#1080) Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> * Extended BloomFilters support by implementing CF.INSERT command (#1083) * Added support for CF.INSERT command * Override argument position offset value to default one * Codestyle fixes --------- Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> * Extended CuckooFilters support by implementing CF.RESERVE command (#1086) * Added support for CF.RESERVE command * Codestyle fixes --------- Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> * Added support for CF.LOADCHUNK, CF.SCANDUMP commands (#1085) Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> * Added support for CF.INSERTNX command (#1087) Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> * Added support for Count-Min Sketch with base commands CMS.INITBYDIM, CMS.INFO (#1088) * Added support for Count-Min Sketches submodule, added support for CMS.INITBYDIM adn CMS.INFO commands * Codestyle fixes --------- Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> * Extended Count-Min Sketch support by implementing CMS.INITBYPROB command (#1090) * Added support for CMS.INITBYPROB command * Codestyle fixes --------- Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> * Extended Count-Min Sketch support by implementing CMS.INCRBY and CMS.QUERY commands (#1091) * Added support for CMS.INCRBY and CMS.QUERY commands * Codestyle fixes --------- Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> * Extended Count-Min Sketch support by implementing CMS.MERGE command (#1092) * Added support for CMS.MERGE command * Added command description --------- Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> * Added support for TDigest sketch, added TDIGEST.CREATE, TDIGEST.INFO commands (#1093) Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> * Extended TDigest Sketch support by implementing TDIGEST.ADD command (#1094) * Added support for TDIGEST.ADD command * Codestyle fixes --------- Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> * Added support for TDIGEST.BYRANK command (#1096) Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> * Extended TDigest support by implementing TDIGEST.BYREVRANK command (#1097) * Added support for TDIGEST.BYREVRANK command * Codestyle fixes --------- Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> * Added support for TDIGEST.CDF command (#1098) Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> * Extended support by implementing TDIGEST.MAX command (#1099) * Added support for TDIGEST.MAX command * Codestyle fixes --------- Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> * Extended support by implementing TDIGEST.MIN command (#1100) * add support for CF.ADDNX * fix key name * fix wrong command * Pulling changes * Support TDIGEST.MIN * Add support for TDIGEST.RANK command (#1103) Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> * Extended TDigest support by implementing TDIGEST.RESET command (#1104) * Added support for TDIGEST.RESET command * Codestyle fixes --------- Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> * Extended support by implementing TDIGEST.QUANTILE command (#1101) * add support for CF.ADDNX * fix key name * fix wrong command * Pulling changes * Support TDIGEST.QUANTILE * fix returned value * fix test * fix linter error * add not exsist key test * fixes after review * fix linter problem * Add support for TDIGEST.REVRANK command (#1105) Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> * Added support for TDIGEST.TRIMMED_MEAN command (#1106) Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> * Added support for TOPK.RESERVE, TOPK.INFO commands (#1107) Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> * Added commands support (#1108) Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> * Added support for TOPK.INCRBY command (#1109) Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> * Added support for TOPK.QUERY command (#1110) Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> * Added support for TDIGEST.MERGE command (#1102) Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> Co-authored-by: shacharPash <93581407+shacharPash@users.noreply.github.com> * Codestyle fixes * Changed return annotation * Sync branch with 2.x (#1169) * Added support for new arguments for BITPOS, BITCOUNT commands (#1045) * Added support for new arguments for EXPIRE, EXPIREAT commands (#1046) * Extended core support by implementing SORT_RO command (#1044) * Added support for SORT_RO command * Codestyle fixes * Added command description --------- Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> * fix deprecated call * Added support for container commands (#1049) * Added support for container commands FUNCTION LOAD, FUNCTION DELETE and FCALL * Changed ContainerInterface and AbstractContainer * Re-implement logic of abstract methods --------- Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> * Added stream commands to KeyPrefixProcessor (#1051) Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> * Fix return type of ReplicationInterface::getSlaves (#1111) * Codestyle fixes * Changed return annotation --------- Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> Co-authored-by: Till Krüss <till@kruss.io> Co-authored-by: Stephan <glaubinix@users.noreply.github.com> * Revert "Sync branch with 2.x (#1169)" (#1170) This reverts commit |
||
|
|
41a79f5b49 | Added ACL RESP3 integration tests (#1299) | ||
|
|
946c4b7bd7 | [v2.x] Relay support (#1263) | ||
|
|
971e47672d | Added Redis stack support (JSON, Search, TimeSeries, Bloom) (#1253) | ||
|
|
38e955bc26 | fix deprecated call | ||
|
|
5331d943fe |
Upgrade static analysis to PHPStan level 2 (#1043)
* Upgrade static analysis to PHPStan level 2 * Fix CS and CI * Fix coverage path * Start debugging * Stop debugging |
||
|
|
ac259bdb6f |
Add complete CI (#1036)
* Add complete CI * Fix CI * Fix spelling * Fix indentation * Fix CI * Fix CI * Revert disabling unit tests * Add coverage driver to CI * Start coverage debugging * Fix debugging ignored, and an empty message aborts the commit. * Stop debugging * Move TODO-s from source to GitHub issues * Ignore too long lines in certain files * Revert requiring php-parallel-lint/php-parallel-lint * formatting * try shorter formatting * formatting * fix syntax * try two paths? * Update .editorconfig Co-authored-by: Viktor Szépe <viktor@szepe.net> * indentation * make it a group Co-authored-by: Till Krüss <tillkruss@users.noreply.github.com> |
||
|
|
d6dc6e51e1 |
Add CS job (#1024)
* Add CS job * Apply PHP71Migration ruleset |
||
|
|
47a7cbc862 | unify code formatting | ||
|
|
82791e55e1 | format tests | ||
|
|
af2e5cc553 | order imports | ||
|
|
c412594217 | align phpdoc vertically | ||
|
|
cc40219268 | use short array syntax | ||
|
|
c9babb1984 | update copyright comments | ||
|
|
b8cc7c643a |
Extended Key Space support by implementing COPY command (#866)
* Added support for COPY command * Revert getCLient signature changes, used createClient instead Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> |
||
|
|
9c543ef5b1 |
Added support for HRANDFIELD command (#870)
Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local> |
||
|
|
a602fc7425 |
Fix sentinel reconnect issue on long-running PHP processes (#784)
* Fix no sentinel server available for autodiscovery on Swoole * Fix errors in PHPUnit 9.5 the reason: https://github.com/sebastianbergmann/phpunit/commit/68582043e149039cfa3596b42ed35753dcf54fb2?fbclid=IwAR1qy1jFNFeJ3hUt5k7XAflqyCTUTWZhEqVSeizkybVHUEqXjBZ1gJM739U * add restart sentinel test |
||
|
|
b1ea4374d4 |
[tests] Fix the very few remaining warnings emitted by test suite.
Basically assertMatchesRegularExpression() replaces assertRegExp() which has been deprecated since PHPUnit 9.1 and will be removed in PHPUnit 10, unfortunately we still depend on PHPUnit 8.4 to support PHP 7.2 and this version does not have assertMatchesRegularExpression() so we implemented it in our base testcase class with a fallback to the old assertRegExp() when tests are executed on older versions of PHPUnit. |
||
|
|
bffa1d020b | [tests] Just a lone leftover... | ||
|
|
5133706c36 | [tests] Add utility method to skip tests on CI environment. | ||
|
|
c6f2ce4b83 | [tests] Replace generic MockObject::will() with specialized methods. | ||
|
|
36c9bb047e |
[tests] Start improving test suite.
- Make use of more typehints for function parameters - Make use of typehints for function return values - Use @var where needed to give proper hints to IDEs and avoid warnings - Replace MockObject::setMethods() with addMethods() and onlyMethods() - Rewording of some phpdocs |
||
|
|
cc2a7657db |
Rework Predis\Command\FactoryInterface and related classes.
We have renamed most methods to drop the "command" suffix as it is quite redundant. Due to this change and thanks to variadic methods introduced with PHP 5.6 we took the opportunity to replace both "supportsCommand()" and "supportsCommands()" with a single new method "supports()". Added more stringent typehints for method arguments and typehints for return values now that we do not need to support anything below PHP 7.2. Also moved from using array() to [] in source code of class involved. |
||
|
|
d4bcf912f4 |
[tests] Drop TODO and implement type check in utility method.
From feedback to PR #644. |
||
|
|
a772f0b16b |
[tests] Drop now useless method.
From feedback to PR #644. |
||
|
|
c26909699b | Merge remote-tracking branch 'github/pr/639' into main | ||
|
|
33f5a0ec8c | Merge branch 'stale-master' into main | ||
|
|
5edf443141 | Fix tests. | ||
|
|
64937f725b | get phpunit running | ||
|
|
eb1e686ff9 | [tests] Change indentation of mock method expectations. | ||
|
|
8b466d05df | Get string of basic connection parameters from parameters class. | ||
|
|
4b47639f9e |
Rename command classes using command ID as name.
Some notable exceptions are EVAL and ECHO because having these names as class names would raise a syntax error. |
||
|
|
62b421f20e |
Switch from server profiles to commands factory.
This change reduces some unnecessary complexity in the library, Redis commands do not change much after all. Developers can still implement their own commands factory, inject new commands or override existing ones. The "profile" client options has been renamed to "commands" and it accepts instances of Predis\Command\FactoryInterface. The test suite checks at runtime the version of the running instance of Redis for integration tests to adapt itself automatically. |
||
|
|
6e3f301588 | Move commands classes in Predis\Command\Redis. | ||
|
|
843ad23ea7 | [tests] Move utility method into base test class. | ||
|
|
f6bf2b5977 |
[tests] Troubles with HHVM <= 3.6.6 and float timeouts.
HHVM is still being used by Travis CI but this bug makes the build to take 14 minutes to complete, which is unacceptable. |
||
|
|
01483234c7 |
[tests] Fix assertion.
PHPUnit_Util_Type::export() has been removed a while ago... |
||
|
|
e61cb4e4f2 | [tests] Fix wrong @group annotation | ||
|
|
a0487ec5f4 |
Prevent failures serializing commands with "holes" in arguments array.
This could be triggered when passing an array with "holes" to variadic commands. Connection classes based on the protocol serialized exposed by phpiredis were not affected by this bug. Fixes #316. |
||
|
|
a7ee80702c |
Implement full support for IPv6.
Using IPv6 with Predis was basically impossible due to various inconsistencies and bugs through the library, now it is supported by all the connection classes. Following the standard for IPv6 literal addresses in URI strings, the IP literal must be enclosed within square brackets when passing the parameters as a string: $parameters = 'tcp://[2001:db8:0:f101::1]:6379'; See https://tools.ietf.org/html/rfc3986#section-3.2.2 for further details. This commit also fixes #239 making redis-cluster usable with nodes using IPv6. |
||
|
|
ebb72377bb |
Implement TLS/SSL-encrypted connections.
This is handy for accessing remote Redis instances over a secure SSL connection which is currently a popular option or even requirement with many cloud hosting environments. In order to configure the client to use an SSL-encrypted connection the scheme in the connection parameters must be either "tsl" or "rediss" and a set of SSL options (see http://php.net/manual/en/context.ssl.php) must be provided via the "ssl" parameter as a named array. The following example (which does not necessarily represent an example of good practices!) illustrates how to set the "ssl" parameter using a named array and the equivalent URI string: // Parameters as named array $parameters = [ 'scheme' => 'tls', 'host' => '127.0.0.1', 'ssl' => [ 'cafile' => '/home/adaniele/redis.pem', 'verify_peer_name' => false, ], ]; // Parameters as URI string $parameters = 'tls://127.0.0.1?ssl[cafile]=redis.pem&ssl[verify_peer_name]=1'; Support for SSL is currently limited to the Predis\Connection\StreamConnection backend but we intend to investigate if it is possible to extend this feature to Predis\Connection\PhpiredisStreamConnection in the future. Be aware that using encrypted connections may lead to a performance degradation especially in the connect() operation due to the overhead of the TLS handshake. Unfortunately there is no real way to reuse SSL sessions from userland, aside from enabling persistent connections, but this will work only on PHP >= 7.0.0 because previous versions of PHP do not provide enough info about a stream from get_stream_meta_data(). NOTE: Redis does not have built-in support for SSL-encrypted connections, but if you want to expose it to public networks you may want to rely on "stunnel". |
||
|
|
abf2ce0bd1 |
[tests] Exlude persistent connections tests under PHP 5.3.
The get_resource_type() function does not differentiate between normal streams and persistent streams, so we cannot really test this case. |
||
|
|
c7cae66a97 | [tests] Improve code-reuse in tests for the Predis\Connection namespace. | ||
|
|
4f30ac6370 | Run php-cs-fixer. | ||
|
|
1c8eb7ff6b | [tests] Share common test among connection classes. | ||
|
|
8277afc7a8 |
Use "persistent" with non-bool strings to open different persistent connections.
stream_socket_client() has the undocumented ability to open different persistent streams by providing a path in the $address string. Previously we supported this behaviour with a combination of "persistent" and "path" (see #139) but this can be confusing, especially now that we support the redis:// scheme which uses the path part of an URI string to specify a database number. After this change, instead of using an URI string such as: $parameters = 'tcp://127.0.0.1/first?persistent=1&database=5'; You should use the following ones: $parameters = 'tcp://127.0.0.1?persistent=first&database=5'; $parameters = 'redis://127.0.0.1/5?persistent=first'; Avoiding "path" makes even more sense when using array connection parameters: $parameters = [ 'host' => '127.0.0.1', 'database' => 5, 'persistent' => 'first', ] This feature is not supported when using UNIX domain sockets because the path trick of stream_socket_client() does not play well with the actual path of the socket file. The client will throw an InvalidArgumentException exception to notify the user. NOTE: unfortunately we have to disable the tests for persistent connections when running under HHVM due to a bug in their implementation of get_resource_type() preventing us to recognize a persistent stream from userland code. |
||
|
|
8dd9893a2f | Run php-cs-fixer with new configuration. |