@upstash/redis 1.40.0 → 1.41.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/{chunk-RLVWMRRX.mjs → chunk-CGMWROAN.mjs} +557 -4
- package/cloudflare.d.mts +2 -2
- package/cloudflare.d.ts +2 -2
- package/cloudflare.js +557 -4
- package/cloudflare.mjs +1 -1
- package/docs/advanced.mdx +83 -0
- package/docs/commands/array/arcount.mdx +28 -0
- package/docs/commands/array/ardel.mdx +30 -0
- package/docs/commands/array/ardelrange.mdx +32 -0
- package/docs/commands/array/arget.mdx +33 -0
- package/docs/commands/array/argetrange.mdx +38 -0
- package/docs/commands/array/argrep.mdx +69 -0
- package/docs/commands/array/arinfo.mdx +49 -0
- package/docs/commands/array/arinsert.mdx +32 -0
- package/docs/commands/array/arlastitems.mdx +40 -0
- package/docs/commands/array/arlen.mdx +28 -0
- package/docs/commands/array/armget.mdx +31 -0
- package/docs/commands/array/armset.mdx +31 -0
- package/docs/commands/array/arnext.mdx +25 -0
- package/docs/commands/array/arop.mdx +44 -0
- package/docs/commands/array/arring.mdx +36 -0
- package/docs/commands/array/arscan.mdx +42 -0
- package/docs/commands/array/arseek.mdx +34 -0
- package/docs/commands/array/arset.mdx +35 -0
- package/docs/commands/auth/echo.mdx +24 -0
- package/docs/commands/auth/ping.mdx +21 -0
- package/docs/commands/bitmap/bitcount.mdx +39 -0
- package/docs/commands/bitmap/bitop.mdx +142 -0
- package/docs/commands/bitmap/bitpos.mdx +39 -0
- package/docs/commands/bitmap/getbit.mdx +28 -0
- package/docs/commands/bitmap/setbit.mdx +31 -0
- package/docs/commands/connection/client_setinfo.mdx +91 -0
- package/docs/commands/functions/call.mdx +72 -0
- package/docs/commands/functions/call_ro.mdx +57 -0
- package/docs/commands/functions/delete.mdx +22 -0
- package/docs/commands/functions/flush.mdx +16 -0
- package/docs/commands/functions/list.mdx +72 -0
- package/docs/commands/functions/load.mdx +64 -0
- package/docs/commands/functions/stats.mdx +46 -0
- package/docs/commands/generic/del.mdx +29 -0
- package/docs/commands/generic/exists.mdx +26 -0
- package/docs/commands/generic/expire.mdx +29 -0
- package/docs/commands/generic/expireat.mdx +29 -0
- package/docs/commands/generic/keys.mdx +32 -0
- package/docs/commands/generic/persist.mdx +23 -0
- package/docs/commands/generic/pexpire.mdx +28 -0
- package/docs/commands/generic/pexpireat.mdx +29 -0
- package/docs/commands/generic/pttl.mdx +23 -0
- package/docs/commands/generic/randomkey.mdx +21 -0
- package/docs/commands/generic/rename.mdx +28 -0
- package/docs/commands/generic/renamenx.mdx +28 -0
- package/docs/commands/generic/scan.mdx +38 -0
- package/docs/commands/generic/touch.mdx +23 -0
- package/docs/commands/generic/ttl.mdx +23 -0
- package/docs/commands/generic/type.mdx +27 -0
- package/docs/commands/generic/unlink.mdx +29 -0
- package/docs/commands/hash/hdel.mdx +28 -0
- package/docs/commands/hash/hexists.mdx +30 -0
- package/docs/commands/hash/hexpire.mdx +49 -0
- package/docs/commands/hash/hexpireat.mdx +48 -0
- package/docs/commands/hash/hexpiretime.mdx +35 -0
- package/docs/commands/hash/hget.mdx +29 -0
- package/docs/commands/hash/hgetall.mdx +27 -0
- package/docs/commands/hash/hgetdel.mdx +67 -0
- package/docs/commands/hash/hgetex.mdx +123 -0
- package/docs/commands/hash/hincrby.mdx +34 -0
- package/docs/commands/hash/hincrbyfloat.mdx +34 -0
- package/docs/commands/hash/hkeys.mdx +28 -0
- package/docs/commands/hash/hlen.mdx +28 -0
- package/docs/commands/hash/hmget.mdx +33 -0
- package/docs/commands/hash/hpersist.mdx +37 -0
- package/docs/commands/hash/hpexpire.mdx +50 -0
- package/docs/commands/hash/hpexpireat.mdx +48 -0
- package/docs/commands/hash/hpexpiretime.mdx +35 -0
- package/docs/commands/hash/hpttl.mdx +35 -0
- package/docs/commands/hash/hrandfield.mdx +57 -0
- package/docs/commands/hash/hscan.mdx +65 -0
- package/docs/commands/hash/hset.mdx +32 -0
- package/docs/commands/hash/hsetex.mdx +186 -0
- package/docs/commands/hash/hsetnx.mdx +30 -0
- package/docs/commands/hash/hstrlen.mdx +28 -0
- package/docs/commands/hash/httl.mdx +35 -0
- package/docs/commands/hash/hvals.mdx +29 -0
- package/docs/commands/json/arrappend.mdx +35 -0
- package/docs/commands/json/arrindex.mdx +37 -0
- package/docs/commands/json/arrinsert.mdx +34 -0
- package/docs/commands/json/arrlen.mdx +26 -0
- package/docs/commands/json/arrpop.mdx +36 -0
- package/docs/commands/json/arrtrim.mdx +34 -0
- package/docs/commands/json/clear.mdx +30 -0
- package/docs/commands/json/del.mdx +26 -0
- package/docs/commands/json/forget.mdx +26 -0
- package/docs/commands/json/get.mdx +53 -0
- package/docs/commands/json/merge.mdx +32 -0
- package/docs/commands/json/mget.mdx +27 -0
- package/docs/commands/json/mset.mdx +26 -0
- package/docs/commands/json/numincrby.mdx +33 -0
- package/docs/commands/json/nummultby.mdx +33 -0
- package/docs/commands/json/objkeys.mdx +27 -0
- package/docs/commands/json/objlen.mdx +27 -0
- package/docs/commands/json/set.mdx +42 -0
- package/docs/commands/json/strappend.mdx +32 -0
- package/docs/commands/json/strlen.mdx +26 -0
- package/docs/commands/json/toggle.mdx +28 -0
- package/docs/commands/json/type.mdx +28 -0
- package/docs/commands/list/lindex.mdx +32 -0
- package/docs/commands/list/linsert.mdx +41 -0
- package/docs/commands/list/llen.mdx +26 -0
- package/docs/commands/list/lmove.mdx +34 -0
- package/docs/commands/list/lpop.mdx +37 -0
- package/docs/commands/list/lpos.mdx +56 -0
- package/docs/commands/list/lpush.mdx +32 -0
- package/docs/commands/list/lpushx.mdx +38 -0
- package/docs/commands/list/lrange.mdx +37 -0
- package/docs/commands/list/lrem.mdx +33 -0
- package/docs/commands/list/lset.mdx +34 -0
- package/docs/commands/list/ltrim.mdx +33 -0
- package/docs/commands/list/rpop.mdx +37 -0
- package/docs/commands/list/rpush.mdx +32 -0
- package/docs/commands/list/rpushx.mdx +38 -0
- package/docs/commands/overview.mdx +692 -0
- package/docs/commands/pubsub/psubscribe.mdx +36 -0
- package/docs/commands/pubsub/publish.mdx +27 -0
- package/docs/commands/pubsub/subscribe.mdx +28 -0
- package/docs/commands/scripts/eval.mdx +36 -0
- package/docs/commands/scripts/eval_ro.mdx +36 -0
- package/docs/commands/scripts/evalsha.mdx +36 -0
- package/docs/commands/scripts/evalsha_ro.mdx +36 -0
- package/docs/commands/scripts/script_exists.mdx +26 -0
- package/docs/commands/scripts/script_flush.mdx +28 -0
- package/docs/commands/scripts/script_load.mdx +28 -0
- package/docs/commands/server/dbsize.mdx +22 -0
- package/docs/commands/server/flushall.mdx +25 -0
- package/docs/commands/server/flushdb.mdx +25 -0
- package/docs/commands/set/sadd.mdx +32 -0
- package/docs/commands/set/scard.mdx +26 -0
- package/docs/commands/set/sdiff.mdx +27 -0
- package/docs/commands/set/sdiffstore.mdx +32 -0
- package/docs/commands/set/sinter.mdx +27 -0
- package/docs/commands/set/sinterstore.mdx +33 -0
- package/docs/commands/set/sismember.mdx +30 -0
- package/docs/commands/set/smembers.mdx +25 -0
- package/docs/commands/set/smismember.mdx +31 -0
- package/docs/commands/set/smove.mdx +34 -0
- package/docs/commands/set/spop.mdx +36 -0
- package/docs/commands/set/srandmember.mdx +36 -0
- package/docs/commands/set/srem.mdx +29 -0
- package/docs/commands/set/sscan.mdx +39 -0
- package/docs/commands/set/sunion.mdx +27 -0
- package/docs/commands/set/sunionstore.mdx +33 -0
- package/docs/commands/stream/xack.mdx +37 -0
- package/docs/commands/stream/xackdel.mdx +211 -0
- package/docs/commands/stream/xadd.mdx +137 -0
- package/docs/commands/stream/xautoclaim.mdx +80 -0
- package/docs/commands/stream/xclaim.mdx +84 -0
- package/docs/commands/stream/xdel.mdx +34 -0
- package/docs/commands/stream/xdelex.mdx +119 -0
- package/docs/commands/stream/xgroup.mdx +141 -0
- package/docs/commands/stream/xinfo.mdx +77 -0
- package/docs/commands/stream/xlen.mdx +22 -0
- package/docs/commands/stream/xpending.mdx +75 -0
- package/docs/commands/stream/xrange.mdx +59 -0
- package/docs/commands/stream/xread.mdx +65 -0
- package/docs/commands/stream/xreadgroup.mdx +87 -0
- package/docs/commands/stream/xrevrange.mdx +65 -0
- package/docs/commands/stream/xtrim.mdx +75 -0
- package/docs/commands/string/append.mdx +28 -0
- package/docs/commands/string/decr.mdx +27 -0
- package/docs/commands/string/decrby.mdx +30 -0
- package/docs/commands/string/get.mdx +34 -0
- package/docs/commands/string/getdel.mdx +29 -0
- package/docs/commands/string/getrange.mdx +34 -0
- package/docs/commands/string/getset.mdx +28 -0
- package/docs/commands/string/incr.mdx +27 -0
- package/docs/commands/string/incrby.mdx +30 -0
- package/docs/commands/string/incrbyfloat.mdx +30 -0
- package/docs/commands/string/mget.mdx +31 -0
- package/docs/commands/string/mset.mdx +32 -0
- package/docs/commands/string/msetnx.mdx +29 -0
- package/docs/commands/string/set.mdx +79 -0
- package/docs/commands/string/setrange.mdx +38 -0
- package/docs/commands/string/strlen.mdx +26 -0
- package/docs/commands/transaction.mdx +22 -0
- package/docs/commands/zset/zadd.mdx +102 -0
- package/docs/commands/zset/zcard.mdx +31 -0
- package/docs/commands/zset/zcount.mdx +47 -0
- package/docs/commands/zset/zdiffstore.mdx +33 -0
- package/docs/commands/zset/zincrby.mdx +37 -0
- package/docs/commands/zset/zinterstore.mdx +98 -0
- package/docs/commands/zset/zlexcount.mdx +43 -0
- package/docs/commands/zset/zmscore.mdx +34 -0
- package/docs/commands/zset/zpopmax.mdx +25 -0
- package/docs/commands/zset/zpopmin.mdx +25 -0
- package/docs/commands/zset/zrange.mdx +85 -0
- package/docs/commands/zset/zrank.mdx +29 -0
- package/docs/commands/zset/zrem.mdx +33 -0
- package/docs/commands/zset/zremrangebylex.mdx +32 -0
- package/docs/commands/zset/zremrangebyrank.mdx +32 -0
- package/docs/commands/zset/zremrangebyscore.mdx +32 -0
- package/docs/commands/zset/zrevrank.mdx +29 -0
- package/docs/commands/zset/zscan.mdx +58 -0
- package/docs/commands/zset/zscore.mdx +34 -0
- package/docs/commands/zset/zunionstore.mdx +98 -0
- package/docs/deployment.mdx +117 -0
- package/docs/developing.mdx +118 -0
- package/docs/getstarted.mdx +68 -0
- package/docs/overview.mdx +29 -0
- package/docs/pipelining/auto-pipeline.mdx +108 -0
- package/docs/pipelining/pipeline-transaction.mdx +65 -0
- package/docs/retries.mdx +24 -0
- package/docs/troubleshooting.mdx +80 -0
- package/{error-BNzLTXJG.d.mts → error-4e36-PC0.d.mts} +838 -8
- package/{error-BNzLTXJG.d.ts → error-4e36-PC0.d.ts} +838 -8
- package/fastly.d.mts +2 -2
- package/fastly.d.ts +2 -2
- package/fastly.js +557 -4
- package/fastly.mjs +1 -1
- package/nodejs.d.mts +34 -2
- package/nodejs.d.ts +34 -2
- package/nodejs.js +586 -4
- package/nodejs.mjs +30 -1
- package/package.json +16 -5
- package/src/pkg/auto-pipeline.ts +284 -0
- package/src/pkg/commands/append.ts +12 -0
- package/src/pkg/commands/arcount.ts +14 -0
- package/src/pkg/commands/ardel.ts +19 -0
- package/src/pkg/commands/ardelrange.ts +19 -0
- package/src/pkg/commands/arget.ts +17 -0
- package/src/pkg/commands/argetrange.ts +20 -0
- package/src/pkg/commands/argrep.ts +109 -0
- package/src/pkg/commands/arinfo.ts +88 -0
- package/src/pkg/commands/arinsert.ts +24 -0
- package/src/pkg/commands/arlastitems.ts +29 -0
- package/src/pkg/commands/arlen.ts +23 -0
- package/src/pkg/commands/armget.ts +18 -0
- package/src/pkg/commands/armset.ts +26 -0
- package/src/pkg/commands/arnext.ts +20 -0
- package/src/pkg/commands/arop.ts +48 -0
- package/src/pkg/commands/arring.ts +23 -0
- package/src/pkg/commands/arscan.ts +44 -0
- package/src/pkg/commands/arseek.ts +17 -0
- package/src/pkg/commands/arset.ts +20 -0
- package/src/pkg/commands/bitcount.ts +30 -0
- package/src/pkg/commands/bitfield.ts +50 -0
- package/src/pkg/commands/bitop.ts +35 -0
- package/src/pkg/commands/bitpos.ts +15 -0
- package/src/pkg/commands/client_setinfo.ts +17 -0
- package/src/pkg/commands/command.ts +142 -0
- package/src/pkg/commands/copy.ts +22 -0
- package/src/pkg/commands/dbsize.ts +12 -0
- package/src/pkg/commands/decr.ts +12 -0
- package/src/pkg/commands/decrby.ts +12 -0
- package/src/pkg/commands/del.ts +12 -0
- package/src/pkg/commands/echo.ts +12 -0
- package/src/pkg/commands/eval.ts +18 -0
- package/src/pkg/commands/evalRo.ts +18 -0
- package/src/pkg/commands/evalsha.ts +18 -0
- package/src/pkg/commands/evalshaRo.ts +18 -0
- package/src/pkg/commands/exec.ts +23 -0
- package/src/pkg/commands/exists.ts +12 -0
- package/src/pkg/commands/expire.ts +13 -0
- package/src/pkg/commands/expireat.ts +16 -0
- package/src/pkg/commands/fcall.ts +15 -0
- package/src/pkg/commands/fcall_ro.ts +18 -0
- package/src/pkg/commands/flushall.ts +15 -0
- package/src/pkg/commands/flushdb.ts +15 -0
- package/src/pkg/commands/function_delete.ts +12 -0
- package/src/pkg/commands/function_flush.ts +12 -0
- package/src/pkg/commands/function_list.ts +77 -0
- package/src/pkg/commands/function_load.ts +31 -0
- package/src/pkg/commands/function_stats.ts +42 -0
- package/src/pkg/commands/geo_add.ts +54 -0
- package/src/pkg/commands/geo_dist.ts +19 -0
- package/src/pkg/commands/geo_hash.ts +23 -0
- package/src/pkg/commands/geo_pos.ts +39 -0
- package/src/pkg/commands/geo_search.ts +140 -0
- package/src/pkg/commands/geo_search_store.ts +69 -0
- package/src/pkg/commands/get.ts +15 -0
- package/src/pkg/commands/getbit.ts +12 -0
- package/src/pkg/commands/getdel.ts +15 -0
- package/src/pkg/commands/getex.ts +36 -0
- package/src/pkg/commands/getrange.ts +15 -0
- package/src/pkg/commands/getset.ts +15 -0
- package/src/pkg/commands/hdel.ts +12 -0
- package/src/pkg/commands/hexists.ts +12 -0
- package/src/pkg/commands/hexpire.ts +30 -0
- package/src/pkg/commands/hexpireat.ts +30 -0
- package/src/pkg/commands/hexpiretime.ts +13 -0
- package/src/pkg/commands/hget.ts +18 -0
- package/src/pkg/commands/hgetall.ts +44 -0
- package/src/pkg/commands/hgetdel.ts +30 -0
- package/src/pkg/commands/hgetex.ts +56 -0
- package/src/pkg/commands/hincrby.ts +15 -0
- package/src/pkg/commands/hincrbyfloat.ts +15 -0
- package/src/pkg/commands/hkeys.ts +12 -0
- package/src/pkg/commands/hlen.ts +12 -0
- package/src/pkg/commands/hmget.ts +53 -0
- package/src/pkg/commands/hmset.ts +14 -0
- package/src/pkg/commands/hpersist.ts +13 -0
- package/src/pkg/commands/hpexpire.ts +30 -0
- package/src/pkg/commands/hpexpireat.ts +30 -0
- package/src/pkg/commands/hpexpiretime.ts +13 -0
- package/src/pkg/commands/hpttl.ts +13 -0
- package/src/pkg/commands/hrandfield.ts +52 -0
- package/src/pkg/commands/hscan.ts +31 -0
- package/src/pkg/commands/hset.ts +15 -0
- package/src/pkg/commands/hsetex.ts +59 -0
- package/src/pkg/commands/hsetnx.ts +15 -0
- package/src/pkg/commands/hstrlen.ts +12 -0
- package/src/pkg/commands/httl.ts +13 -0
- package/src/pkg/commands/hvals.ts +12 -0
- package/src/pkg/commands/incr.ts +12 -0
- package/src/pkg/commands/incrby.ts +12 -0
- package/src/pkg/commands/incrbyfloat.ts +12 -0
- package/src/pkg/commands/json_arrappend.ts +18 -0
- package/src/pkg/commands/json_arrindex.ts +15 -0
- package/src/pkg/commands/json_arrinsert.ts +18 -0
- package/src/pkg/commands/json_arrlen.ts +15 -0
- package/src/pkg/commands/json_arrpop.ts +15 -0
- package/src/pkg/commands/json_arrtrim.ts +19 -0
- package/src/pkg/commands/json_clear.ts +12 -0
- package/src/pkg/commands/json_del.ts +12 -0
- package/src/pkg/commands/json_forget.ts +12 -0
- package/src/pkg/commands/json_get.ts +45 -0
- package/src/pkg/commands/json_merge.ts +18 -0
- package/src/pkg/commands/json_mget.ts +12 -0
- package/src/pkg/commands/json_mset.ts +27 -0
- package/src/pkg/commands/json_numincrby.ts +15 -0
- package/src/pkg/commands/json_nummultby.ts +15 -0
- package/src/pkg/commands/json_objkeys.ts +15 -0
- package/src/pkg/commands/json_objlen.ts +15 -0
- package/src/pkg/commands/json_resp.ts +11 -0
- package/src/pkg/commands/json_set.ts +35 -0
- package/src/pkg/commands/json_strappend.ts +15 -0
- package/src/pkg/commands/json_strlen.ts +15 -0
- package/src/pkg/commands/json_toggle.ts +12 -0
- package/src/pkg/commands/json_type.ts +12 -0
- package/src/pkg/commands/keys.ts +12 -0
- package/src/pkg/commands/lindex.ts +11 -0
- package/src/pkg/commands/linsert.ts +10 -0
- package/src/pkg/commands/llen.ts +12 -0
- package/src/pkg/commands/lmove.ts +20 -0
- package/src/pkg/commands/lmpop.ts +19 -0
- package/src/pkg/commands/lpop.ts +18 -0
- package/src/pkg/commands/lpos.ts +26 -0
- package/src/pkg/commands/lpush.ts +12 -0
- package/src/pkg/commands/lpushx.ts +12 -0
- package/src/pkg/commands/lrange.ts +11 -0
- package/src/pkg/commands/lrem.ts +10 -0
- package/src/pkg/commands/lset.ts +8 -0
- package/src/pkg/commands/ltrim.ts +8 -0
- package/src/pkg/commands/mget.ts +15 -0
- package/src/pkg/commands/mod.ts +222 -0
- package/src/pkg/commands/mset.ts +12 -0
- package/src/pkg/commands/msetnx.ts +12 -0
- package/src/pkg/commands/persist.ts +12 -0
- package/src/pkg/commands/pexpire.ts +16 -0
- package/src/pkg/commands/pexpireat.ts +16 -0
- package/src/pkg/commands/pfadd.ts +11 -0
- package/src/pkg/commands/pfcount.ts +11 -0
- package/src/pkg/commands/pfmerge.ts +11 -0
- package/src/pkg/commands/ping.ts +15 -0
- package/src/pkg/commands/psetex.ts +14 -0
- package/src/pkg/commands/psubscribe.ts +26 -0
- package/src/pkg/commands/pttl.ts +12 -0
- package/src/pkg/commands/publish.ts +12 -0
- package/src/pkg/commands/randomkey.ts +12 -0
- package/src/pkg/commands/rename.ts +12 -0
- package/src/pkg/commands/renamenx.ts +12 -0
- package/src/pkg/commands/rpop.ts +21 -0
- package/src/pkg/commands/rpush.ts +12 -0
- package/src/pkg/commands/rpushx.ts +12 -0
- package/src/pkg/commands/sadd.ts +15 -0
- package/src/pkg/commands/scan.ts +63 -0
- package/src/pkg/commands/scard.ts +11 -0
- package/src/pkg/commands/script_exists.ts +15 -0
- package/src/pkg/commands/script_flush.ts +22 -0
- package/src/pkg/commands/script_load.ts +12 -0
- package/src/pkg/commands/sdiff.ts +11 -0
- package/src/pkg/commands/sdiffstore.ts +14 -0
- package/src/pkg/commands/search/command-builder.ts +162 -0
- package/src/pkg/commands/search/index.ts +4 -0
- package/src/pkg/commands/search/schema-builder.ts +320 -0
- package/src/pkg/commands/search/search.ts +218 -0
- package/src/pkg/commands/search/types.ts +1029 -0
- package/src/pkg/commands/search/utils.ts +275 -0
- package/src/pkg/commands/set.ts +52 -0
- package/src/pkg/commands/setbit.ts +15 -0
- package/src/pkg/commands/setex.ts +11 -0
- package/src/pkg/commands/setnx.ts +11 -0
- package/src/pkg/commands/setrange.ts +15 -0
- package/src/pkg/commands/sinter.ts +11 -0
- package/src/pkg/commands/sintercard.ts +19 -0
- package/src/pkg/commands/sinterstore.ts +14 -0
- package/src/pkg/commands/sismember.ts +11 -0
- package/src/pkg/commands/smembers.ts +12 -0
- package/src/pkg/commands/smismember.ts +17 -0
- package/src/pkg/commands/smove.ts +14 -0
- package/src/pkg/commands/spop.ts +18 -0
- package/src/pkg/commands/srandmember.ts +18 -0
- package/src/pkg/commands/srem.ts +11 -0
- package/src/pkg/commands/sscan.ts +31 -0
- package/src/pkg/commands/strlen.ts +12 -0
- package/src/pkg/commands/subscribe.ts +254 -0
- package/src/pkg/commands/sunion.ts +12 -0
- package/src/pkg/commands/sunionstore.ts +15 -0
- package/src/pkg/commands/time.ts +10 -0
- package/src/pkg/commands/touch.ts +12 -0
- package/src/pkg/commands/ttl.ts +12 -0
- package/src/pkg/commands/type.ts +13 -0
- package/src/pkg/commands/types.ts +201 -0
- package/src/pkg/commands/unlink.ts +12 -0
- package/src/pkg/commands/vector/index.ts +11 -0
- package/src/pkg/commands/vector/types.ts +63 -0
- package/src/pkg/commands/vector/utils.ts +67 -0
- package/src/pkg/commands/vector/vector.ts +131 -0
- package/src/pkg/commands/vector_add.ts +18 -0
- package/src/pkg/commands/vector_count.ts +11 -0
- package/src/pkg/commands/vector_create.ts +28 -0
- package/src/pkg/commands/vector_del.ts +13 -0
- package/src/pkg/commands/vector_drop.ts +13 -0
- package/src/pkg/commands/vector_get.ts +18 -0
- package/src/pkg/commands/vector_info.ts +25 -0
- package/src/pkg/commands/vector_query.ts +24 -0
- package/src/pkg/commands/xack.ts +16 -0
- package/src/pkg/commands/xackdel.ts +21 -0
- package/src/pkg/commands/xadd.ts +70 -0
- package/src/pkg/commands/xautoclaim.ts +31 -0
- package/src/pkg/commands/xclaim.ts +56 -0
- package/src/pkg/commands/xdel.ts +16 -0
- package/src/pkg/commands/xdelex.ts +25 -0
- package/src/pkg/commands/xgroup.ts +101 -0
- package/src/pkg/commands/xinfo.ts +28 -0
- package/src/pkg/commands/xlen.ts +12 -0
- package/src/pkg/commands/xpending.ts +44 -0
- package/src/pkg/commands/xrange.ts +49 -0
- package/src/pkg/commands/xread.ts +78 -0
- package/src/pkg/commands/xreadgroup.ts +74 -0
- package/src/pkg/commands/xrevrange.ts +48 -0
- package/src/pkg/commands/xtrim.ts +25 -0
- package/src/pkg/commands/zadd.ts +54 -0
- package/src/pkg/commands/zcard.ts +12 -0
- package/src/pkg/commands/zcount.ts +14 -0
- package/src/pkg/commands/zdiffstore.ts +15 -0
- package/src/pkg/commands/zincrby.ts +14 -0
- package/src/pkg/commands/zinterstore.ts +51 -0
- package/src/pkg/commands/zlexcount.ts +11 -0
- package/src/pkg/commands/zmscore.ts +16 -0
- package/src/pkg/commands/zpopmax.ts +18 -0
- package/src/pkg/commands/zpopmin.ts +18 -0
- package/src/pkg/commands/zrange.ts +72 -0
- package/src/pkg/commands/zrank.ts +14 -0
- package/src/pkg/commands/zrem.ts +11 -0
- package/src/pkg/commands/zremrangebylex.ts +11 -0
- package/src/pkg/commands/zremrangebyrank.ts +14 -0
- package/src/pkg/commands/zremrangebyscore.ts +18 -0
- package/src/pkg/commands/zrevrank.ts +14 -0
- package/src/pkg/commands/zscan.ts +31 -0
- package/src/pkg/commands/zscore.ts +15 -0
- package/src/pkg/commands/zunion.ts +54 -0
- package/src/pkg/commands/zunionstore.ts +52 -0
- package/src/pkg/error.ts +28 -0
- package/src/pkg/http.ts +458 -0
- package/src/pkg/index.ts +1 -0
- package/src/pkg/pipeline.ts +2041 -0
- package/src/pkg/redis.ts +2130 -0
- package/src/pkg/script.ts +100 -0
- package/src/pkg/scriptRo.ts +98 -0
- package/src/pkg/types.ts +35 -0
- package/src/pkg/util.ts +115 -0
- package/src/platforms/cloudflare.ts +162 -0
- package/src/platforms/fastly.ts +105 -0
- package/src/platforms/nodejs.ts +231 -0
- package/src/version.ts +1 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: XREAD
|
|
3
|
+
description: Reads data from one or multiple streams, starting from the specified IDs.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Arguments
|
|
7
|
+
|
|
8
|
+
<ParamField body="key" type="string | string[]" required>
|
|
9
|
+
The key(s) of the stream(s). Can be a single stream key or an array of stream keys.
|
|
10
|
+
</ParamField>
|
|
11
|
+
|
|
12
|
+
<ParamField body="id" type="string | string[]" required>
|
|
13
|
+
The stream entry ID(s) to start reading from. Must match the number of keys provided.
|
|
14
|
+
Use `$` to read only new messages added after the command is issued.
|
|
15
|
+
</ParamField>
|
|
16
|
+
|
|
17
|
+
<ParamField body="options">
|
|
18
|
+
<Expandable title="properties">
|
|
19
|
+
<ParamField body="count" type="number">
|
|
20
|
+
The maximum number of messages to return per stream.
|
|
21
|
+
</ParamField>
|
|
22
|
+
</Expandable>
|
|
23
|
+
</ParamField>
|
|
24
|
+
|
|
25
|
+
## Response
|
|
26
|
+
|
|
27
|
+
<ResponseField type="Array<[string, Array<[string, string[]]>]> | null">
|
|
28
|
+
Returns an array where each element represents a stream and contains:
|
|
29
|
+
- The stream key
|
|
30
|
+
- An array of messages (ID and field-value pairs)
|
|
31
|
+
|
|
32
|
+
Returns null if no data is available.
|
|
33
|
+
</ResponseField>
|
|
34
|
+
|
|
35
|
+
<RequestExample>
|
|
36
|
+
```ts Single stream
|
|
37
|
+
const result = await redis.xread("mystream", "0-0");
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
```ts Multiple streams
|
|
41
|
+
const result = await redis.xread(
|
|
42
|
+
["stream1", "stream2"],
|
|
43
|
+
["0-0", "0-0"]
|
|
44
|
+
);
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
```ts With count limit
|
|
48
|
+
const result = await redis.xread("mystream", "0-0", { count: 2 });
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
```ts Only new messages
|
|
52
|
+
const result = await redis.xread("mystream", `$`);
|
|
53
|
+
```
|
|
54
|
+
</RequestExample>
|
|
55
|
+
|
|
56
|
+
<ResponseExample>
|
|
57
|
+
```ts
|
|
58
|
+
[
|
|
59
|
+
["mystream", [
|
|
60
|
+
["1638360173533-0", ["field1", "value1", "field2", "value2"]],
|
|
61
|
+
["1638360173533-1", ["field1", "value3", "field2", "value4"]]
|
|
62
|
+
]]
|
|
63
|
+
]
|
|
64
|
+
```
|
|
65
|
+
</ResponseExample>
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: XREADGROUP
|
|
3
|
+
description: Reads data from a stream as part of a consumer group.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Arguments
|
|
7
|
+
|
|
8
|
+
<ParamField body="group" type="string" required>
|
|
9
|
+
The consumer group name.
|
|
10
|
+
</ParamField>
|
|
11
|
+
|
|
12
|
+
<ParamField body="consumer" type="string" required>
|
|
13
|
+
The consumer name within the group.
|
|
14
|
+
</ParamField>
|
|
15
|
+
|
|
16
|
+
<ParamField body="key" type="string | string[]" required>
|
|
17
|
+
The stream key(s) to read from. Can be a single stream key or an array of stream keys for multiple streams.
|
|
18
|
+
</ParamField>
|
|
19
|
+
|
|
20
|
+
<ParamField body="ids" type="string | string[]" required>
|
|
21
|
+
The starting ID(s) to read from. Use ">" to read messages never delivered to any consumer in the group.
|
|
22
|
+
For multiple streams, provide an array of IDs corresponding to each stream.
|
|
23
|
+
</ParamField>
|
|
24
|
+
|
|
25
|
+
<ParamField body="options">
|
|
26
|
+
<Expandable title="properties">
|
|
27
|
+
<ParamField body="count" type="number">
|
|
28
|
+
The maximum number of messages to return per stream.
|
|
29
|
+
</ParamField>
|
|
30
|
+
<ParamField body="NOACK" type="boolean">
|
|
31
|
+
Don't add messages to the pending entries list (messages won't need acknowledgment).
|
|
32
|
+
</ParamField>
|
|
33
|
+
</Expandable>
|
|
34
|
+
</ParamField>
|
|
35
|
+
|
|
36
|
+
## Response
|
|
37
|
+
|
|
38
|
+
<ResponseField type="Array<[string, Array<[string, string[]]>]> | null">
|
|
39
|
+
Returns an array where each element represents a stream and contains:
|
|
40
|
+
- The stream key
|
|
41
|
+
- An array of messages (ID and field-value pairs)
|
|
42
|
+
|
|
43
|
+
Returns null if no data is available.
|
|
44
|
+
</ResponseField>
|
|
45
|
+
|
|
46
|
+
<RequestExample>
|
|
47
|
+
```ts Read new messages
|
|
48
|
+
const result = await redis.xreadgroup("mygroup", "consumer1", "mystream", ">");
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
```ts With count option
|
|
52
|
+
const result = await redis.xreadgroup("mygroup", "consumer1", "mystream", ">", {
|
|
53
|
+
count: 5
|
|
54
|
+
});
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
```ts With NOACK option
|
|
58
|
+
const result = await redis.xreadgroup("mygroup", "consumer1", "mystream", ">", {
|
|
59
|
+
NOACK: true
|
|
60
|
+
});
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
```ts Multiple streams
|
|
64
|
+
const result = await redis.xreadgroup(
|
|
65
|
+
"mygroup",
|
|
66
|
+
"consumer1",
|
|
67
|
+
["stream1", "stream2"],
|
|
68
|
+
[">", ">"],
|
|
69
|
+
{ count: 1 }
|
|
70
|
+
);
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
```ts Read pending messages
|
|
74
|
+
const result = await redis.xreadgroup("mygroup", "consumer1", "mystream", "0");
|
|
75
|
+
```
|
|
76
|
+
</RequestExample>
|
|
77
|
+
|
|
78
|
+
<ResponseExample>
|
|
79
|
+
```ts
|
|
80
|
+
[
|
|
81
|
+
["mystream", [
|
|
82
|
+
["1638360173533-0", ["field1", "value1", "field2", "value2"]],
|
|
83
|
+
["1638360173533-1", ["field1", "value3", "field2", "value4"]]
|
|
84
|
+
]]
|
|
85
|
+
]
|
|
86
|
+
```
|
|
87
|
+
</ResponseExample>
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: XREVRANGE
|
|
3
|
+
description: Returns stream entries matching a given range of IDs in reverse order.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Arguments
|
|
7
|
+
|
|
8
|
+
<ParamField body="key" type="string" required>
|
|
9
|
+
The key of the stream.
|
|
10
|
+
</ParamField>
|
|
11
|
+
|
|
12
|
+
<ParamField body="end" type="string" required>
|
|
13
|
+
The stream entry ID to end at (highest ID).
|
|
14
|
+
</ParamField>
|
|
15
|
+
|
|
16
|
+
<ParamField body="start" type="string" required>
|
|
17
|
+
The stream entry ID to start from (lowest ID).
|
|
18
|
+
</ParamField>
|
|
19
|
+
|
|
20
|
+
<ParamField body="count" type="number">
|
|
21
|
+
The maximum number of entries to return.
|
|
22
|
+
</ParamField>
|
|
23
|
+
|
|
24
|
+
## Response
|
|
25
|
+
|
|
26
|
+
<ResponseField type="Record<string, Record<string, unknown>>">
|
|
27
|
+
An object of stream entries in reverse chronological order, keyed by their stream ID.
|
|
28
|
+
</ResponseField>
|
|
29
|
+
|
|
30
|
+
<RequestExample>
|
|
31
|
+
```ts All entries (reverse order)
|
|
32
|
+
const result = await redis.xrevrange("mystream", "+", "-");
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
```ts Limited count
|
|
36
|
+
const result = await redis.xrevrange("mystream", "+", "-", 2);
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
```ts Specific range
|
|
40
|
+
const result = await redis.xrevrange(
|
|
41
|
+
"mystream",
|
|
42
|
+
"1638360173533-3",
|
|
43
|
+
"1638360173533-1"
|
|
44
|
+
);
|
|
45
|
+
```
|
|
46
|
+
</RequestExample>
|
|
47
|
+
|
|
48
|
+
<ResponseExample>
|
|
49
|
+
```ts
|
|
50
|
+
{
|
|
51
|
+
"1638360173533-4": {
|
|
52
|
+
"field1": "value5",
|
|
53
|
+
"field2": "value6"
|
|
54
|
+
},
|
|
55
|
+
"1638360173533-3": {
|
|
56
|
+
"field1": "value3",
|
|
57
|
+
"field2": "value4"
|
|
58
|
+
},
|
|
59
|
+
"1638360173533-0": {
|
|
60
|
+
"field1": "value1",
|
|
61
|
+
"field2": "value2"
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
</ResponseExample>
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: XTRIM
|
|
3
|
+
description: Trims the stream by removing entries to keep it at a reasonable size.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Arguments
|
|
7
|
+
|
|
8
|
+
<ParamField body="key" type="string" required>
|
|
9
|
+
The key of the stream.
|
|
10
|
+
</ParamField>
|
|
11
|
+
|
|
12
|
+
<ParamField body="options" type="object" required>
|
|
13
|
+
<Expandable title="properties">
|
|
14
|
+
<ParamField body="strategy" type="'MAXLEN' | 'MINID'" required>
|
|
15
|
+
The trimming strategy:
|
|
16
|
+
- `MAXLEN`: Trim based on the maximum number of entries
|
|
17
|
+
- `MINID`: Trim based on the minimum ID
|
|
18
|
+
</ParamField>
|
|
19
|
+
|
|
20
|
+
<ParamField body="threshold" type="number | string" required>
|
|
21
|
+
The threshold value for trimming:
|
|
22
|
+
- For `MAXLEN`: The maximum number of entries to keep (number)
|
|
23
|
+
- For `MINID`: The minimum ID to keep (string). Entries with IDs lower than this will be removed
|
|
24
|
+
</ParamField>
|
|
25
|
+
|
|
26
|
+
<ParamField body="exactness" type="'~' | '='">
|
|
27
|
+
Use `~` for approximate trimming (more efficient, default) or `=` for exact trimming.
|
|
28
|
+
</ParamField>
|
|
29
|
+
|
|
30
|
+
<ParamField body="limit" type="number">
|
|
31
|
+
Limit how many entries will be trimmed at most (only valid with approximate trimming `~`).
|
|
32
|
+
</ParamField>
|
|
33
|
+
</Expandable>
|
|
34
|
+
</ParamField>
|
|
35
|
+
|
|
36
|
+
## Response
|
|
37
|
+
|
|
38
|
+
<ResponseField type="number">
|
|
39
|
+
The number of entries removed from the stream.
|
|
40
|
+
</ResponseField>
|
|
41
|
+
|
|
42
|
+
<RequestExample>
|
|
43
|
+
```ts Approximate trim by max length
|
|
44
|
+
const result = await redis.xtrim("mystream", {
|
|
45
|
+
strategy: "MAXLEN",
|
|
46
|
+
threshold: 100,
|
|
47
|
+
exactness: "~"
|
|
48
|
+
});
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
```ts Exact trim by max length
|
|
52
|
+
const result = await redis.xtrim("mystream", {
|
|
53
|
+
strategy: "MAXLEN",
|
|
54
|
+
threshold: 50,
|
|
55
|
+
exactness: "="
|
|
56
|
+
});
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
```ts Trim by minimum ID
|
|
60
|
+
const result = await redis.xtrim("mystream", {
|
|
61
|
+
strategy: "MINID",
|
|
62
|
+
threshold: "1638360173533-0",
|
|
63
|
+
exactness: "="
|
|
64
|
+
});
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
```ts Approximate trim with limit
|
|
68
|
+
const result = await redis.xtrim("mystream", {
|
|
69
|
+
strategy: "MAXLEN",
|
|
70
|
+
threshold: 1000,
|
|
71
|
+
exactness: "~",
|
|
72
|
+
limit: 100
|
|
73
|
+
});
|
|
74
|
+
```
|
|
75
|
+
</RequestExample>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: APPEND
|
|
3
|
+
description: Append a value to a string stored at key.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
## Arguments
|
|
8
|
+
|
|
9
|
+
<ParamField body="key"type="string" required>
|
|
10
|
+
The key to get.
|
|
11
|
+
</ParamField>
|
|
12
|
+
|
|
13
|
+
<ParamField body="value" required>
|
|
14
|
+
The value to append.
|
|
15
|
+
</ParamField>
|
|
16
|
+
|
|
17
|
+
## Response
|
|
18
|
+
|
|
19
|
+
<ResponseField type="integer" required>
|
|
20
|
+
How many characters were added to the string.
|
|
21
|
+
</ResponseField>
|
|
22
|
+
|
|
23
|
+
<RequestExample>
|
|
24
|
+
```ts Example
|
|
25
|
+
await redis.append(key, "Hello");
|
|
26
|
+
// returns 5
|
|
27
|
+
```
|
|
28
|
+
</RequestExample>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: DECR
|
|
3
|
+
description: Decrement the integer value of a key by one
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
If a key does not exist, it is initialized as 0 before performing the operation. An error is returned if the key contains a value of the wrong type or contains a string that can not be represented as integer.
|
|
7
|
+
|
|
8
|
+
## Arguments
|
|
9
|
+
|
|
10
|
+
<ParamField body="key" type="string" required>
|
|
11
|
+
The key to decrement.
|
|
12
|
+
</ParamField>
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
## Response
|
|
16
|
+
|
|
17
|
+
<ResponseField type="integer" required>
|
|
18
|
+
The value at the key after the decrementing.
|
|
19
|
+
</ResponseField>
|
|
20
|
+
|
|
21
|
+
<RequestExample>
|
|
22
|
+
```ts Example
|
|
23
|
+
await redis.set("key", 6);
|
|
24
|
+
await redis.decr("key");
|
|
25
|
+
// returns 5
|
|
26
|
+
```
|
|
27
|
+
</RequestExample>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: DECRBY
|
|
3
|
+
description: Decrement the integer value of a key by a given number.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
If a key does not exist, it is initialized as 0 before performing the operation. An error is returned if the key contains a value of the wrong type or contains a string that can not be represented as integer.
|
|
7
|
+
|
|
8
|
+
## Arguments
|
|
9
|
+
|
|
10
|
+
<ParamField body="key" type="string"required>
|
|
11
|
+
The key to decrement.
|
|
12
|
+
</ParamField>
|
|
13
|
+
<ParamField body="decrementBy" type="integer" required>
|
|
14
|
+
The amount to decrement by.
|
|
15
|
+
</ParamField>
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## Response
|
|
19
|
+
|
|
20
|
+
<ResponseField type="integer" required>
|
|
21
|
+
The value at the key after the decrementing.
|
|
22
|
+
</ResponseField>
|
|
23
|
+
|
|
24
|
+
<RequestExample>
|
|
25
|
+
```ts Example
|
|
26
|
+
await redis.set("key", 6);
|
|
27
|
+
await redis.decrby("key", 4);
|
|
28
|
+
// returns 2
|
|
29
|
+
```
|
|
30
|
+
</RequestExample>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: GET
|
|
3
|
+
description: Return the value of the specified key or `null` if the key doesn't exist.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
## Arguments
|
|
8
|
+
|
|
9
|
+
<ParamField body="key" type="string" required>
|
|
10
|
+
The key to get.
|
|
11
|
+
</ParamField>
|
|
12
|
+
|
|
13
|
+
## Response
|
|
14
|
+
|
|
15
|
+
<ResponseField required>
|
|
16
|
+
The response is the value stored at the key or `null` if the key doesn't exist.
|
|
17
|
+
</ResponseField>
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
<RequestExample>
|
|
22
|
+
```ts Example
|
|
23
|
+
type MyType = {
|
|
24
|
+
a: number;
|
|
25
|
+
b: string;
|
|
26
|
+
}
|
|
27
|
+
const value = await redis.get<MyType>("key");
|
|
28
|
+
if (!value) {
|
|
29
|
+
// key doesn't exist
|
|
30
|
+
} else {
|
|
31
|
+
// value is of type MyType
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
</RequestExample>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: GETDEL
|
|
3
|
+
description: Return the value of the specified key and delete the key.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
## Arguments
|
|
8
|
+
|
|
9
|
+
<ParamField body="key" type="string" required>
|
|
10
|
+
The key to get.
|
|
11
|
+
</ParamField>
|
|
12
|
+
|
|
13
|
+
## Response
|
|
14
|
+
|
|
15
|
+
<ResponseField required>
|
|
16
|
+
|
|
17
|
+
The response is the value stored at the key or `null` if the key doesn't exist.
|
|
18
|
+
</ResponseField>
|
|
19
|
+
|
|
20
|
+
<RequestExample>
|
|
21
|
+
```ts Example
|
|
22
|
+
type MyType = {
|
|
23
|
+
a: number;
|
|
24
|
+
b: string;
|
|
25
|
+
}
|
|
26
|
+
await redis.getdel<MyType>("key");
|
|
27
|
+
// returns {a: 1, b: "2"}
|
|
28
|
+
```
|
|
29
|
+
</RequestExample>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: GETRANGE
|
|
3
|
+
description: Return a substring of value at the specified key.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
## Arguments
|
|
8
|
+
|
|
9
|
+
<ParamField body="key" type="string" required>
|
|
10
|
+
The key to get.
|
|
11
|
+
</ParamField>
|
|
12
|
+
|
|
13
|
+
<ParamField body="start" type="integer" required>
|
|
14
|
+
The start index of the substring.
|
|
15
|
+
</ParamField>
|
|
16
|
+
|
|
17
|
+
<ParamField body="end" type="integer" required>
|
|
18
|
+
The end index of the substring.
|
|
19
|
+
</ParamField>
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## Response
|
|
23
|
+
|
|
24
|
+
<ResponseField type="string" required>
|
|
25
|
+
The substring.
|
|
26
|
+
</ResponseField>
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
<RequestExample>
|
|
31
|
+
```ts Example
|
|
32
|
+
const substring = await redis.getrange("key", 2, 4);
|
|
33
|
+
```
|
|
34
|
+
</RequestExample>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: GETSET
|
|
3
|
+
description: Return the value of the specified key and replace it with a new value.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
## Arguments
|
|
8
|
+
|
|
9
|
+
<ParamField body="key" type="string" required>
|
|
10
|
+
The key to get.
|
|
11
|
+
</ParamField>
|
|
12
|
+
|
|
13
|
+
<ParamField body="newValue" required>
|
|
14
|
+
The new value to store.
|
|
15
|
+
</ParamField>
|
|
16
|
+
|
|
17
|
+
## Response
|
|
18
|
+
<ResponseField required>
|
|
19
|
+
|
|
20
|
+
The response is the value stored at the key or `null` if the key doesn't exist.
|
|
21
|
+
</ResponseField>
|
|
22
|
+
|
|
23
|
+
<RequestExample>
|
|
24
|
+
```ts Example
|
|
25
|
+
|
|
26
|
+
const oldValue = await redis.getset("key", newValue);
|
|
27
|
+
```
|
|
28
|
+
</RequestExample>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: INCR
|
|
3
|
+
description: Increment the integer value of a key by one
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
If a key does not exist, it is initialized as 0 before performing the operation. An error is returned if the key contains a value of the wrong type or contains a string that can not be represented as integer.
|
|
7
|
+
|
|
8
|
+
## Arguments
|
|
9
|
+
|
|
10
|
+
<ParamField body="key" type="string" required>
|
|
11
|
+
The key to increment.
|
|
12
|
+
</ParamField>
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
## Response
|
|
16
|
+
|
|
17
|
+
<ResponseField type="integer" required>
|
|
18
|
+
The value at the key after the incrementing.
|
|
19
|
+
</ResponseField>
|
|
20
|
+
|
|
21
|
+
<RequestExample>
|
|
22
|
+
```ts Example
|
|
23
|
+
await redis.set("key", 6);
|
|
24
|
+
await redis.incr("key");
|
|
25
|
+
// returns 7
|
|
26
|
+
```
|
|
27
|
+
</RequestExample>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: INCRBY
|
|
3
|
+
description: Increment the integer value of a key by a given number.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
If a key does not exist, it is initialized as 0 before performing the operation. An error is returned if the key contains a value of the wrong type or contains a string that can not be represented as integer.
|
|
7
|
+
|
|
8
|
+
## Arguments
|
|
9
|
+
|
|
10
|
+
<ParamField body="key" type="string"required>
|
|
11
|
+
The key to decrement.
|
|
12
|
+
</ParamField>
|
|
13
|
+
<ParamField body="incrementBy" type="integer" required>
|
|
14
|
+
The amount to increment by.
|
|
15
|
+
</ParamField>
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## Response
|
|
19
|
+
|
|
20
|
+
<ResponseField type="integer" required>
|
|
21
|
+
The value at the key after the incrementing.
|
|
22
|
+
</ResponseField>
|
|
23
|
+
|
|
24
|
+
<RequestExample>
|
|
25
|
+
```ts Example
|
|
26
|
+
await redis.set("key", 6);
|
|
27
|
+
await redis.incrby("key", 4);
|
|
28
|
+
// returns 10
|
|
29
|
+
```
|
|
30
|
+
</RequestExample>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: INCRBYFLOAT
|
|
3
|
+
description: Increment the float value of a key by a given number.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
If a key does not exist, it is initialized as 0 before performing the operation. An error is returned if the key contains a value of the wrong type or contains a string that can not be represented as integer.
|
|
7
|
+
|
|
8
|
+
## Arguments
|
|
9
|
+
|
|
10
|
+
<ParamField body="key" type="string"required>
|
|
11
|
+
The key to decrement.
|
|
12
|
+
</ParamField>
|
|
13
|
+
<ParamField body="incrementBy" type="float" required>
|
|
14
|
+
The amount to increment by.
|
|
15
|
+
</ParamField>
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## Response
|
|
19
|
+
|
|
20
|
+
<ResponseField type="float" required>
|
|
21
|
+
The value at the key after the incrementing.
|
|
22
|
+
</ResponseField>
|
|
23
|
+
|
|
24
|
+
<RequestExample>
|
|
25
|
+
```ts Example
|
|
26
|
+
await redis.set("key", 6);
|
|
27
|
+
await redis.incrbyfloat("key", 4,5);
|
|
28
|
+
// returns 10.5
|
|
29
|
+
```
|
|
30
|
+
</RequestExample>
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: MGET
|
|
3
|
+
description: Load multiple keys from Redis in one go.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
For billing purposes, this counts as a single command.
|
|
7
|
+
|
|
8
|
+
## Arguments
|
|
9
|
+
|
|
10
|
+
<ParamField body="keys" type="...string" required>
|
|
11
|
+
Multiple keys to load from Redis.
|
|
12
|
+
</ParamField>
|
|
13
|
+
|
|
14
|
+
## Response
|
|
15
|
+
|
|
16
|
+
<ResponseField type="T[]" required>
|
|
17
|
+
An array of values corresponding to the keys passed in. If a key doesn't exist, the value will be `null`.
|
|
18
|
+
</ResponseField>
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
<RequestExample>
|
|
23
|
+
```ts Example
|
|
24
|
+
type MyType = {
|
|
25
|
+
a: number;
|
|
26
|
+
b: string;
|
|
27
|
+
}
|
|
28
|
+
const values = await redis.mget<MyType>("key1", "key2", "key3");
|
|
29
|
+
// values.length -> 3
|
|
30
|
+
```
|
|
31
|
+
</RequestExample>
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: MSET
|
|
3
|
+
description: Set multiple keys in one go.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
For billing purposes, this counts as a single command.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## Arguments
|
|
11
|
+
|
|
12
|
+
<ParamField body="params" type="Record<string, TValue>" required>
|
|
13
|
+
An object where the keys are the keys to set, and the values are the values to set.
|
|
14
|
+
</ParamField>
|
|
15
|
+
|
|
16
|
+
## Response
|
|
17
|
+
|
|
18
|
+
<ResponseField type="string" required>
|
|
19
|
+
"OK"
|
|
20
|
+
</ResponseField>
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
<RequestExample>
|
|
25
|
+
```ts Example
|
|
26
|
+
await redis.mset({
|
|
27
|
+
key1: 1,
|
|
28
|
+
key2: "hello",
|
|
29
|
+
key3: { a: 1, b: "hello" },
|
|
30
|
+
});
|
|
31
|
+
```
|
|
32
|
+
</RequestExample>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: MSETNX
|
|
3
|
+
description: Set multiple keys in one go unless they exist already.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
For billing purposes, this counts as a single command.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## Arguments
|
|
11
|
+
|
|
12
|
+
<ParamField type="Record<string, TValue>" required>
|
|
13
|
+
An object where the keys are the keys to set, and the values are the values to set.
|
|
14
|
+
</ParamField>
|
|
15
|
+
|
|
16
|
+
## Response
|
|
17
|
+
|
|
18
|
+
<ResponseField required>
|
|
19
|
+
`True` if all keys were set, `False` if at least one key was not set.
|
|
20
|
+
</ResponseField>
|
|
21
|
+
|
|
22
|
+
<RequestExample>
|
|
23
|
+
```ts Example
|
|
24
|
+
redis.msetnx({
|
|
25
|
+
"key1": "value1",
|
|
26
|
+
"key2": "value2"
|
|
27
|
+
})
|
|
28
|
+
```
|
|
29
|
+
</RequestExample>
|