1
0
mirror of https://github.com/redis/node-redis.git synced 2025-08-10 11:43:01 +03:00
Commit Graph

87 Commits

Author SHA1 Message Date
dovi
31c91decec fix ZUNIONSTORE 2023-05-02 17:43:10 -04:00
dovi
d643134dce fix ZUNION 2023-05-02 17:43:05 -04:00
dovi
e1727d16a1 fix ZUNION 2023-05-02 17:27:57 -04:00
dovi
afa394e35d fix XSETID 2023-05-02 16:06:14 -04:00
dovi
449d9c40ae fix XTRIM 2023-05-02 15:40:00 -04:00
dovi
dd6b211db3 fix XDEL 2023-05-02 15:28:23 -04:00
dovi
ea87a6767f fix XACK 2023-05-01 19:20:45 -04:00
dovi
e58562be4d clean code 2023-05-01 19:08:14 -04:00
dovi
74caece450 fix XADD 2023-05-01 19:06:21 -04:00
Leibale
4304f4dba3 some more commands 2023-05-01 06:58:27 -04:00
Leibale
88333c01de some more commands 2023-04-30 10:33:05 -04:00
Leibale
53b9397a78 some more commands 2023-04-30 10:08:25 -04:00
Leibale
8d615e99ed wip 2023-04-27 19:17:11 -04:00
Leibale
ab3973aca3 wip 2023-04-27 18:41:32 -04:00
Leibale
53ac48f298 some tests 2023-04-27 17:43:29 -04:00
Leibale
1254ff7ebd wip 2023-04-26 18:04:27 -04:00
Leibale
e25bcff293 WIP 2023-04-26 13:32:10 -04:00
Leibale
b272f18818 some more commands, multi.exec<'typed'> 2023-04-24 19:50:58 -04:00
Leibale
39bcac6484 clean SET command 2023-04-24 12:40:22 -04:00
Leibale
9faa3e77c4 WIP 2023-04-23 07:56:15 -04:00
Leibale Eidelman
3b1bad2296 Add support for sharded PubSub (#2373)
* refactor pubsub, add support for sharded pub sub

* run tests in redis 7 only, fix PUBSUB SHARDCHANNELS test

* add some comments and fix some bugs

* PubSubType, not PubSubTypes 🤦‍♂️

* remove test.txt

* fix some bugs, add tests

* add some tests

* fix #2345 - allow PING in PubSub mode (remove client side validation)

* remove .only

* revert changes in cluster/index.ts

* fix tests minimum version

* handle server sunsubscribe

* add 'sharded-channel-moved' event to docs, improve the events section in the main README (fix #2302)

* exit "resubscribe" if pubsub not active

* Update commands-queue.ts

* Release client@1.5.0-rc.0

* WIP

* use `node:util` instead of `node:util/types` (to support node 14)

* run PubSub resharding test with Redis 7+

* fix inconsistency in live resharding test

* add some tests

* fix iterateAllNodes when starting from a replica

* fix iterateAllNodes random

* fix slotNodesIterator

* fix slotNodesIterator

* clear pubSubNode when node in use

* wait for all nodes cluster state to be ok before testing

* `cluster.minimizeConections` tests

* `client.reconnectStrategry = false | 0` tests

* sharded pubsub + cluster 🎉

* add minimum version to sharded pubsub tests

* add cluster sharded pubsub live reshard test, use stable dockers for tests, make sure to close pubsub clients when a node disconnects from the cluster

* fix "ssubscribe & sunsubscribe" test

* lock search docker to 2.4.9

* change numberOfMasters default to 2

* use edge for bloom

* add tests

* add back getMasters and getSlotMaster as deprecated functions

* add some tests

* fix reconnect strategy + docs

* sharded pubsub docs

* Update pub-sub.md

* some jsdoc, docs, cluster topology test

* clean pub-sub docs

Co-authored-by: Simon Prickett <simon@redislabs.com>

* reconnect startegy docs and bug fix

Co-authored-by: Simon Prickett <simon@redislabs.com>

* refine jsdoc and some docs

Co-authored-by: Simon Prickett <simon@redislabs.com>

* I'm stupid

* fix cluster topology test

* fix cluster topology test

* Update README.md

* Update clustering.md

* Update pub-sub.md

Co-authored-by: Simon Prickett <simon@redislabs.com>
2023-01-25 11:00:39 -05:00
Ananda
e75a5db3e4 Add CLIENT LIST command and fix CLIENT INFO (#2368)
* fix client info

* add client list

* fix key validation in transformClientInfoReply

* fix issue with field in CLIENT LIST reply

* clean code

* fix multimem

* fix qbufFree argvMem totMem multiMem

Co-authored-by: Leibale <me@leibale.com>
2023-01-25 10:52:59 -05:00
Ananda
63511e5b9b Add latency graph command (#2359)
* add latency graph command

* fix coding style

* Clean code

* use "enable-debug-command" is redis 7+ only

* Update LATENCY_GRAPH.spec.ts

Co-authored-by: Leibale Eidelman <me@leibale.com>
2023-01-18 12:55:38 -05:00
Brandon
aa75ee49c6 #2038 Resolve legacy mode hGetAll returning in the wrong format compared to v3 results (#2367)
* Ensure that transformReply is optionally passed through to commands in legacy mode within multi

* Execute transformReply on legacy #sendCommand

* Scope transform changes to hGetAll

* Extensible method of transforming legacy replies, expands RedisCommand interface

* check `TRANSFORM_LEGACY_REPLY` on client creation (rather then on command exec), add tests

Co-authored-by: Leibale Eidelman <me@leibale.com>
2023-01-18 12:54:29 -05:00
Vojtech Novak
f6093b7b0f fix: zero ttl is ignored (#2349)
* fix: zero ttl is ignored

* Update SET.ts

* Update SET.ts

Co-authored-by: Leibale Eidelman <me@leibale.com>
2022-12-15 12:04:13 -05:00
Kien Dang
2a8e11a51d Export SetOptions type in redis/client command (#2268)
* Export setOptions type

* Export setOptions type in commands

* Revert "Export setOptions type in commands"

* Export SetOptions type in redis client

* Export SetOptions type in @redis/client

* Fix lint
2022-09-21 17:05:16 -04:00
Roman Poleguev
e1c0580d65 Fix CLUSTER_NODES ipv6 address parsing (#2269) 2022-09-19 13:31:21 -04:00
Brandon Everett
ac032d82a0 fix: loop over arguments instead of spreading (#2160)
* fix: loop over arguments instead of spreading

* update to use concat

* use the returned array from pushVerdictArguments (instead of assuming it'll push to the original array)

* fix "Type 'RedisCommandArguments' is not assignable to type 'string[]'."

* fix "Argument of type 'RedisCommandArgument | RedisCommandArguments[]' is not assignable to parameter of type 'RedisCommandArgument | RedisCommandArgument[]'"

* fix "Type 'RedisCommandArguments' is not assignable to type 'string[]'"

Co-authored-by: Leibale Eidelman <leibale1998@gmail.com>
2022-07-13 07:01:35 -04:00
Ștefan Cenușă
f9f5e494dd fixed MIGRATE function when key is array (#2184)
* fix: 2163 push empty string as arg

* fix: updated migrate test with keys array
2022-07-07 14:33:58 -04:00
Tom Graham
82f43d9a53 Fix issue with buffers in objects using hSet (#2139)
* Fix issue with buffers in objects using hSet

When using hSet with an object, any buffer values inside the object are converted to strings instead of left as buffers.
This fix specifically handles the special case of buffers, whilst casting everything else strings (to continue "gracefully" handling the case where the value not a valid type).

* Update HSET.ts

* Update HSET.spec.ts

Co-authored-by: Leibale Eidelman <leibale1998@gmail.com>
2022-05-26 09:56:10 -04:00
Leibale Eidelman
7196b907e5 fix #1915 - CLIENT TRACKINGINFO (#2127)
* fix #1915 - CLIENT TRACKINGINFO

* remove .only
2022-05-12 13:05:27 -04:00
Leibale Eidelman
d8db974980 fix #1914 - CLIENT TRACKING (#2126) 2022-05-12 12:56:09 -04:00
Leibale Eidelman
429b11e020 fix #1959 - LCS (#2129)
* fix #1959 - LCS

* newlines at end of files
2022-05-11 14:24:07 -04:00
Leibale Eidelman
24c2c867f8 fix #1917 - CLIENT UNPAUSE (#2128)
* fix #1917 - CLIENT UNPAUSE

* fix CLIENT UNPAUSE
2022-05-11 14:20:52 -04:00
Leibale Eidelman
94dbcc847b fix #1912 - CLIENT PAUSE (#2125)
* fix #1912 - CLIENT PAUSE

* fix client pause

* Update commands.ts
2022-05-11 10:02:29 -04:00
Leibale Eidelman
53a96ccce4 fix #1911 - CLIENT NO-EVICT (#2124) 2022-05-11 09:36:23 -04:00
Avital Fine
06c1d2c243 Support all GEORADIUS Commands (#2017)
* Support all GEORADIUS Commands

* move store bool to options

* simplify transformReply for store commands

* clean code

Co-authored-by: leibale <leibale1998@gmail.com>
2022-05-11 09:36:12 -04:00
Leibale Eidelman
0752f143a6 prepare 4.1.0 (#2111)
* increase test coverage

* @node-redis to @redis

* ugprade deps

* fix benchmark

* use 7.0 docker (not rc), update readmes, clean code, fix @-redis import

* update readme

* fix function in cluster

* update docs

Co-authored-by: Chayim <chayim@users.noreply.github.com>

* Update clustering.md

* add subpackages move warning

* drop support for node 12

* upgrade deps

* fix tsconfig.base.json

Co-authored-by: Chayim <chayim@users.noreply.github.com>
2022-05-02 11:48:12 -04:00
Leibale Eidelman
baf67fd87f fix #1976 - XSETID (#2104) 2022-04-26 09:05:44 -04:00
Leibale Eidelman
b586ccb9d7 fix #1904 - ACL DRYRUN (#2102)
* fix #1904 - ACL DRYRUN

* clean code

* fix test
2022-04-26 09:04:21 -04:00
Leibale Eidelman
11c6c24881 Add support for redis functions (#2020)
* fix #1906 - implement BITFIELD_RO

* initial support for redis functions

* fix test utils

* redis functions commands and tests

* upgrade deps

* fix "Property 'uninstall' does not exist on type 'SinonFakeTimers'"

* upgrade dockers version

* Merge branch 'master' of github.com:redis/node-redis into functions

* fix FUNCTION LIST WITHCODE and FUNCTION STATS

* upgrade deps

* set minimum version for FCALL and FCALL_RO

* fix FUNCTION LOAD

* FUNCTION LOAD

* fix FUNCTION LOAD & FUNCTION LIST & FUNCTION LOAD WITHCODE

* fix FUNCTION_LIST_WITHCODE test
2022-04-25 09:09:23 -04:00
Avital Fine
b1a0b48d2c Support new muilti pop commands (#2051)
* Support new muilti pop commands

* remove .only

* clean code

* fix for 4558ec6a31

* fix tests

Co-authored-by: leibale <leibale1998@gmail.com>
2022-04-25 07:50:43 -04:00
Leibale Eidelman
33a3f3f6c6 run tests with redis 7 as well - copied from #2020 (#2062)
* run tests on redis 7 as well - copied from #2020

* copy some changes from #2020

* clean BITCOUNT
2022-03-30 08:12:21 -04:00
Avital Fine
b0fb3bd63f Support COMMAND GETKEYSANDFLAGS (#2039)
* Support COMMAND GETKEYSANDFLAGS

* Update COMMAND_GETKEYSANDFLAGS.spec.ts

remove '.only'

* clean code

Co-authored-by: leibale <leibale1998@gmail.com>
2022-03-30 06:31:26 -04:00
Avital Fine
f6f645bdbb Support SORT_RO (#2041)
* Support SORT_RO

* move pushSortReadOnlyArgs and SortReadOnlyOptions to generic-transformers

* clean code

Co-authored-by: leibale <leibale1998@gmail.com>
2022-03-28 18:36:47 -04:00
Avital Fine
5821fcbe4d Support CLUSTER commands (#2015)
* Support CLUSTER commands

* add some client tests

* remove only

* delete cluster slaves

* delete reset clietn test

* SET SLOT

* test with client

* fix fail

* Update CLUSTER_COUNTKEYSINSLOT.spec.ts

* move commands to client/commands.ts

* clusterNode

* remove CLUSTER-SET-CONFIG-EPOCH test with client

* clean code

Co-authored-by: leibale <leibale1998@gmail.com>
2022-03-28 18:31:15 -04:00
Avital Fine
515adf1346 Support OBJECT [...] commands (#2014)
* Support OBJECT [...] commands

* move commands to cluster/commands.ts

Co-authored-by: leibale <leibale1998@gmail.com>
2022-03-27 13:35:01 -04:00
Quentin Rankin
6ca45f674d support command LATENCY DOCTOR (#2053)
* The Latency Doctor Command has been added to the project

* Update LATENCY_DOCTOR.ts

* Update LATENCY_DOCTOR.spec.ts

* Update LATENCY_DOCTOR.spec.ts

Co-authored-by: QuentinRK <q.rankin@outlook.com>
Co-authored-by: Leibale Eidelman <leibale1998@gmail.com>
2022-03-27 13:29:10 -04:00
Avital Fine
6b8a40a36b Support new cluster commands (#2050)
* Support new cluster commands

* clean code

Co-authored-by: leibale <leibale1998@gmail.com>
2022-03-27 13:06:27 -04:00
Avital Fine
fe16dc0eae Support BIT|BYTE option (#2035)
* Support BIT|BYTE option

* clean code

* clean code

* clean code

Co-authored-by: leibale <leibale1998@gmail.com>
2022-03-24 11:00:08 -04:00