@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.
Files changed (475) hide show
  1. package/README.md +5 -0
  2. package/{chunk-RLVWMRRX.mjs → chunk-CGMWROAN.mjs} +557 -4
  3. package/cloudflare.d.mts +2 -2
  4. package/cloudflare.d.ts +2 -2
  5. package/cloudflare.js +557 -4
  6. package/cloudflare.mjs +1 -1
  7. package/docs/advanced.mdx +83 -0
  8. package/docs/commands/array/arcount.mdx +28 -0
  9. package/docs/commands/array/ardel.mdx +30 -0
  10. package/docs/commands/array/ardelrange.mdx +32 -0
  11. package/docs/commands/array/arget.mdx +33 -0
  12. package/docs/commands/array/argetrange.mdx +38 -0
  13. package/docs/commands/array/argrep.mdx +69 -0
  14. package/docs/commands/array/arinfo.mdx +49 -0
  15. package/docs/commands/array/arinsert.mdx +32 -0
  16. package/docs/commands/array/arlastitems.mdx +40 -0
  17. package/docs/commands/array/arlen.mdx +28 -0
  18. package/docs/commands/array/armget.mdx +31 -0
  19. package/docs/commands/array/armset.mdx +31 -0
  20. package/docs/commands/array/arnext.mdx +25 -0
  21. package/docs/commands/array/arop.mdx +44 -0
  22. package/docs/commands/array/arring.mdx +36 -0
  23. package/docs/commands/array/arscan.mdx +42 -0
  24. package/docs/commands/array/arseek.mdx +34 -0
  25. package/docs/commands/array/arset.mdx +35 -0
  26. package/docs/commands/auth/echo.mdx +24 -0
  27. package/docs/commands/auth/ping.mdx +21 -0
  28. package/docs/commands/bitmap/bitcount.mdx +39 -0
  29. package/docs/commands/bitmap/bitop.mdx +142 -0
  30. package/docs/commands/bitmap/bitpos.mdx +39 -0
  31. package/docs/commands/bitmap/getbit.mdx +28 -0
  32. package/docs/commands/bitmap/setbit.mdx +31 -0
  33. package/docs/commands/connection/client_setinfo.mdx +91 -0
  34. package/docs/commands/functions/call.mdx +72 -0
  35. package/docs/commands/functions/call_ro.mdx +57 -0
  36. package/docs/commands/functions/delete.mdx +22 -0
  37. package/docs/commands/functions/flush.mdx +16 -0
  38. package/docs/commands/functions/list.mdx +72 -0
  39. package/docs/commands/functions/load.mdx +64 -0
  40. package/docs/commands/functions/stats.mdx +46 -0
  41. package/docs/commands/generic/del.mdx +29 -0
  42. package/docs/commands/generic/exists.mdx +26 -0
  43. package/docs/commands/generic/expire.mdx +29 -0
  44. package/docs/commands/generic/expireat.mdx +29 -0
  45. package/docs/commands/generic/keys.mdx +32 -0
  46. package/docs/commands/generic/persist.mdx +23 -0
  47. package/docs/commands/generic/pexpire.mdx +28 -0
  48. package/docs/commands/generic/pexpireat.mdx +29 -0
  49. package/docs/commands/generic/pttl.mdx +23 -0
  50. package/docs/commands/generic/randomkey.mdx +21 -0
  51. package/docs/commands/generic/rename.mdx +28 -0
  52. package/docs/commands/generic/renamenx.mdx +28 -0
  53. package/docs/commands/generic/scan.mdx +38 -0
  54. package/docs/commands/generic/touch.mdx +23 -0
  55. package/docs/commands/generic/ttl.mdx +23 -0
  56. package/docs/commands/generic/type.mdx +27 -0
  57. package/docs/commands/generic/unlink.mdx +29 -0
  58. package/docs/commands/hash/hdel.mdx +28 -0
  59. package/docs/commands/hash/hexists.mdx +30 -0
  60. package/docs/commands/hash/hexpire.mdx +49 -0
  61. package/docs/commands/hash/hexpireat.mdx +48 -0
  62. package/docs/commands/hash/hexpiretime.mdx +35 -0
  63. package/docs/commands/hash/hget.mdx +29 -0
  64. package/docs/commands/hash/hgetall.mdx +27 -0
  65. package/docs/commands/hash/hgetdel.mdx +67 -0
  66. package/docs/commands/hash/hgetex.mdx +123 -0
  67. package/docs/commands/hash/hincrby.mdx +34 -0
  68. package/docs/commands/hash/hincrbyfloat.mdx +34 -0
  69. package/docs/commands/hash/hkeys.mdx +28 -0
  70. package/docs/commands/hash/hlen.mdx +28 -0
  71. package/docs/commands/hash/hmget.mdx +33 -0
  72. package/docs/commands/hash/hpersist.mdx +37 -0
  73. package/docs/commands/hash/hpexpire.mdx +50 -0
  74. package/docs/commands/hash/hpexpireat.mdx +48 -0
  75. package/docs/commands/hash/hpexpiretime.mdx +35 -0
  76. package/docs/commands/hash/hpttl.mdx +35 -0
  77. package/docs/commands/hash/hrandfield.mdx +57 -0
  78. package/docs/commands/hash/hscan.mdx +65 -0
  79. package/docs/commands/hash/hset.mdx +32 -0
  80. package/docs/commands/hash/hsetex.mdx +186 -0
  81. package/docs/commands/hash/hsetnx.mdx +30 -0
  82. package/docs/commands/hash/hstrlen.mdx +28 -0
  83. package/docs/commands/hash/httl.mdx +35 -0
  84. package/docs/commands/hash/hvals.mdx +29 -0
  85. package/docs/commands/json/arrappend.mdx +35 -0
  86. package/docs/commands/json/arrindex.mdx +37 -0
  87. package/docs/commands/json/arrinsert.mdx +34 -0
  88. package/docs/commands/json/arrlen.mdx +26 -0
  89. package/docs/commands/json/arrpop.mdx +36 -0
  90. package/docs/commands/json/arrtrim.mdx +34 -0
  91. package/docs/commands/json/clear.mdx +30 -0
  92. package/docs/commands/json/del.mdx +26 -0
  93. package/docs/commands/json/forget.mdx +26 -0
  94. package/docs/commands/json/get.mdx +53 -0
  95. package/docs/commands/json/merge.mdx +32 -0
  96. package/docs/commands/json/mget.mdx +27 -0
  97. package/docs/commands/json/mset.mdx +26 -0
  98. package/docs/commands/json/numincrby.mdx +33 -0
  99. package/docs/commands/json/nummultby.mdx +33 -0
  100. package/docs/commands/json/objkeys.mdx +27 -0
  101. package/docs/commands/json/objlen.mdx +27 -0
  102. package/docs/commands/json/set.mdx +42 -0
  103. package/docs/commands/json/strappend.mdx +32 -0
  104. package/docs/commands/json/strlen.mdx +26 -0
  105. package/docs/commands/json/toggle.mdx +28 -0
  106. package/docs/commands/json/type.mdx +28 -0
  107. package/docs/commands/list/lindex.mdx +32 -0
  108. package/docs/commands/list/linsert.mdx +41 -0
  109. package/docs/commands/list/llen.mdx +26 -0
  110. package/docs/commands/list/lmove.mdx +34 -0
  111. package/docs/commands/list/lpop.mdx +37 -0
  112. package/docs/commands/list/lpos.mdx +56 -0
  113. package/docs/commands/list/lpush.mdx +32 -0
  114. package/docs/commands/list/lpushx.mdx +38 -0
  115. package/docs/commands/list/lrange.mdx +37 -0
  116. package/docs/commands/list/lrem.mdx +33 -0
  117. package/docs/commands/list/lset.mdx +34 -0
  118. package/docs/commands/list/ltrim.mdx +33 -0
  119. package/docs/commands/list/rpop.mdx +37 -0
  120. package/docs/commands/list/rpush.mdx +32 -0
  121. package/docs/commands/list/rpushx.mdx +38 -0
  122. package/docs/commands/overview.mdx +692 -0
  123. package/docs/commands/pubsub/psubscribe.mdx +36 -0
  124. package/docs/commands/pubsub/publish.mdx +27 -0
  125. package/docs/commands/pubsub/subscribe.mdx +28 -0
  126. package/docs/commands/scripts/eval.mdx +36 -0
  127. package/docs/commands/scripts/eval_ro.mdx +36 -0
  128. package/docs/commands/scripts/evalsha.mdx +36 -0
  129. package/docs/commands/scripts/evalsha_ro.mdx +36 -0
  130. package/docs/commands/scripts/script_exists.mdx +26 -0
  131. package/docs/commands/scripts/script_flush.mdx +28 -0
  132. package/docs/commands/scripts/script_load.mdx +28 -0
  133. package/docs/commands/server/dbsize.mdx +22 -0
  134. package/docs/commands/server/flushall.mdx +25 -0
  135. package/docs/commands/server/flushdb.mdx +25 -0
  136. package/docs/commands/set/sadd.mdx +32 -0
  137. package/docs/commands/set/scard.mdx +26 -0
  138. package/docs/commands/set/sdiff.mdx +27 -0
  139. package/docs/commands/set/sdiffstore.mdx +32 -0
  140. package/docs/commands/set/sinter.mdx +27 -0
  141. package/docs/commands/set/sinterstore.mdx +33 -0
  142. package/docs/commands/set/sismember.mdx +30 -0
  143. package/docs/commands/set/smembers.mdx +25 -0
  144. package/docs/commands/set/smismember.mdx +31 -0
  145. package/docs/commands/set/smove.mdx +34 -0
  146. package/docs/commands/set/spop.mdx +36 -0
  147. package/docs/commands/set/srandmember.mdx +36 -0
  148. package/docs/commands/set/srem.mdx +29 -0
  149. package/docs/commands/set/sscan.mdx +39 -0
  150. package/docs/commands/set/sunion.mdx +27 -0
  151. package/docs/commands/set/sunionstore.mdx +33 -0
  152. package/docs/commands/stream/xack.mdx +37 -0
  153. package/docs/commands/stream/xackdel.mdx +211 -0
  154. package/docs/commands/stream/xadd.mdx +137 -0
  155. package/docs/commands/stream/xautoclaim.mdx +80 -0
  156. package/docs/commands/stream/xclaim.mdx +84 -0
  157. package/docs/commands/stream/xdel.mdx +34 -0
  158. package/docs/commands/stream/xdelex.mdx +119 -0
  159. package/docs/commands/stream/xgroup.mdx +141 -0
  160. package/docs/commands/stream/xinfo.mdx +77 -0
  161. package/docs/commands/stream/xlen.mdx +22 -0
  162. package/docs/commands/stream/xpending.mdx +75 -0
  163. package/docs/commands/stream/xrange.mdx +59 -0
  164. package/docs/commands/stream/xread.mdx +65 -0
  165. package/docs/commands/stream/xreadgroup.mdx +87 -0
  166. package/docs/commands/stream/xrevrange.mdx +65 -0
  167. package/docs/commands/stream/xtrim.mdx +75 -0
  168. package/docs/commands/string/append.mdx +28 -0
  169. package/docs/commands/string/decr.mdx +27 -0
  170. package/docs/commands/string/decrby.mdx +30 -0
  171. package/docs/commands/string/get.mdx +34 -0
  172. package/docs/commands/string/getdel.mdx +29 -0
  173. package/docs/commands/string/getrange.mdx +34 -0
  174. package/docs/commands/string/getset.mdx +28 -0
  175. package/docs/commands/string/incr.mdx +27 -0
  176. package/docs/commands/string/incrby.mdx +30 -0
  177. package/docs/commands/string/incrbyfloat.mdx +30 -0
  178. package/docs/commands/string/mget.mdx +31 -0
  179. package/docs/commands/string/mset.mdx +32 -0
  180. package/docs/commands/string/msetnx.mdx +29 -0
  181. package/docs/commands/string/set.mdx +79 -0
  182. package/docs/commands/string/setrange.mdx +38 -0
  183. package/docs/commands/string/strlen.mdx +26 -0
  184. package/docs/commands/transaction.mdx +22 -0
  185. package/docs/commands/zset/zadd.mdx +102 -0
  186. package/docs/commands/zset/zcard.mdx +31 -0
  187. package/docs/commands/zset/zcount.mdx +47 -0
  188. package/docs/commands/zset/zdiffstore.mdx +33 -0
  189. package/docs/commands/zset/zincrby.mdx +37 -0
  190. package/docs/commands/zset/zinterstore.mdx +98 -0
  191. package/docs/commands/zset/zlexcount.mdx +43 -0
  192. package/docs/commands/zset/zmscore.mdx +34 -0
  193. package/docs/commands/zset/zpopmax.mdx +25 -0
  194. package/docs/commands/zset/zpopmin.mdx +25 -0
  195. package/docs/commands/zset/zrange.mdx +85 -0
  196. package/docs/commands/zset/zrank.mdx +29 -0
  197. package/docs/commands/zset/zrem.mdx +33 -0
  198. package/docs/commands/zset/zremrangebylex.mdx +32 -0
  199. package/docs/commands/zset/zremrangebyrank.mdx +32 -0
  200. package/docs/commands/zset/zremrangebyscore.mdx +32 -0
  201. package/docs/commands/zset/zrevrank.mdx +29 -0
  202. package/docs/commands/zset/zscan.mdx +58 -0
  203. package/docs/commands/zset/zscore.mdx +34 -0
  204. package/docs/commands/zset/zunionstore.mdx +98 -0
  205. package/docs/deployment.mdx +117 -0
  206. package/docs/developing.mdx +118 -0
  207. package/docs/getstarted.mdx +68 -0
  208. package/docs/overview.mdx +29 -0
  209. package/docs/pipelining/auto-pipeline.mdx +108 -0
  210. package/docs/pipelining/pipeline-transaction.mdx +65 -0
  211. package/docs/retries.mdx +24 -0
  212. package/docs/troubleshooting.mdx +80 -0
  213. package/{error-BNzLTXJG.d.mts → error-4e36-PC0.d.mts} +838 -8
  214. package/{error-BNzLTXJG.d.ts → error-4e36-PC0.d.ts} +838 -8
  215. package/fastly.d.mts +2 -2
  216. package/fastly.d.ts +2 -2
  217. package/fastly.js +557 -4
  218. package/fastly.mjs +1 -1
  219. package/nodejs.d.mts +34 -2
  220. package/nodejs.d.ts +34 -2
  221. package/nodejs.js +586 -4
  222. package/nodejs.mjs +30 -1
  223. package/package.json +16 -5
  224. package/src/pkg/auto-pipeline.ts +284 -0
  225. package/src/pkg/commands/append.ts +12 -0
  226. package/src/pkg/commands/arcount.ts +14 -0
  227. package/src/pkg/commands/ardel.ts +19 -0
  228. package/src/pkg/commands/ardelrange.ts +19 -0
  229. package/src/pkg/commands/arget.ts +17 -0
  230. package/src/pkg/commands/argetrange.ts +20 -0
  231. package/src/pkg/commands/argrep.ts +109 -0
  232. package/src/pkg/commands/arinfo.ts +88 -0
  233. package/src/pkg/commands/arinsert.ts +24 -0
  234. package/src/pkg/commands/arlastitems.ts +29 -0
  235. package/src/pkg/commands/arlen.ts +23 -0
  236. package/src/pkg/commands/armget.ts +18 -0
  237. package/src/pkg/commands/armset.ts +26 -0
  238. package/src/pkg/commands/arnext.ts +20 -0
  239. package/src/pkg/commands/arop.ts +48 -0
  240. package/src/pkg/commands/arring.ts +23 -0
  241. package/src/pkg/commands/arscan.ts +44 -0
  242. package/src/pkg/commands/arseek.ts +17 -0
  243. package/src/pkg/commands/arset.ts +20 -0
  244. package/src/pkg/commands/bitcount.ts +30 -0
  245. package/src/pkg/commands/bitfield.ts +50 -0
  246. package/src/pkg/commands/bitop.ts +35 -0
  247. package/src/pkg/commands/bitpos.ts +15 -0
  248. package/src/pkg/commands/client_setinfo.ts +17 -0
  249. package/src/pkg/commands/command.ts +142 -0
  250. package/src/pkg/commands/copy.ts +22 -0
  251. package/src/pkg/commands/dbsize.ts +12 -0
  252. package/src/pkg/commands/decr.ts +12 -0
  253. package/src/pkg/commands/decrby.ts +12 -0
  254. package/src/pkg/commands/del.ts +12 -0
  255. package/src/pkg/commands/echo.ts +12 -0
  256. package/src/pkg/commands/eval.ts +18 -0
  257. package/src/pkg/commands/evalRo.ts +18 -0
  258. package/src/pkg/commands/evalsha.ts +18 -0
  259. package/src/pkg/commands/evalshaRo.ts +18 -0
  260. package/src/pkg/commands/exec.ts +23 -0
  261. package/src/pkg/commands/exists.ts +12 -0
  262. package/src/pkg/commands/expire.ts +13 -0
  263. package/src/pkg/commands/expireat.ts +16 -0
  264. package/src/pkg/commands/fcall.ts +15 -0
  265. package/src/pkg/commands/fcall_ro.ts +18 -0
  266. package/src/pkg/commands/flushall.ts +15 -0
  267. package/src/pkg/commands/flushdb.ts +15 -0
  268. package/src/pkg/commands/function_delete.ts +12 -0
  269. package/src/pkg/commands/function_flush.ts +12 -0
  270. package/src/pkg/commands/function_list.ts +77 -0
  271. package/src/pkg/commands/function_load.ts +31 -0
  272. package/src/pkg/commands/function_stats.ts +42 -0
  273. package/src/pkg/commands/geo_add.ts +54 -0
  274. package/src/pkg/commands/geo_dist.ts +19 -0
  275. package/src/pkg/commands/geo_hash.ts +23 -0
  276. package/src/pkg/commands/geo_pos.ts +39 -0
  277. package/src/pkg/commands/geo_search.ts +140 -0
  278. package/src/pkg/commands/geo_search_store.ts +69 -0
  279. package/src/pkg/commands/get.ts +15 -0
  280. package/src/pkg/commands/getbit.ts +12 -0
  281. package/src/pkg/commands/getdel.ts +15 -0
  282. package/src/pkg/commands/getex.ts +36 -0
  283. package/src/pkg/commands/getrange.ts +15 -0
  284. package/src/pkg/commands/getset.ts +15 -0
  285. package/src/pkg/commands/hdel.ts +12 -0
  286. package/src/pkg/commands/hexists.ts +12 -0
  287. package/src/pkg/commands/hexpire.ts +30 -0
  288. package/src/pkg/commands/hexpireat.ts +30 -0
  289. package/src/pkg/commands/hexpiretime.ts +13 -0
  290. package/src/pkg/commands/hget.ts +18 -0
  291. package/src/pkg/commands/hgetall.ts +44 -0
  292. package/src/pkg/commands/hgetdel.ts +30 -0
  293. package/src/pkg/commands/hgetex.ts +56 -0
  294. package/src/pkg/commands/hincrby.ts +15 -0
  295. package/src/pkg/commands/hincrbyfloat.ts +15 -0
  296. package/src/pkg/commands/hkeys.ts +12 -0
  297. package/src/pkg/commands/hlen.ts +12 -0
  298. package/src/pkg/commands/hmget.ts +53 -0
  299. package/src/pkg/commands/hmset.ts +14 -0
  300. package/src/pkg/commands/hpersist.ts +13 -0
  301. package/src/pkg/commands/hpexpire.ts +30 -0
  302. package/src/pkg/commands/hpexpireat.ts +30 -0
  303. package/src/pkg/commands/hpexpiretime.ts +13 -0
  304. package/src/pkg/commands/hpttl.ts +13 -0
  305. package/src/pkg/commands/hrandfield.ts +52 -0
  306. package/src/pkg/commands/hscan.ts +31 -0
  307. package/src/pkg/commands/hset.ts +15 -0
  308. package/src/pkg/commands/hsetex.ts +59 -0
  309. package/src/pkg/commands/hsetnx.ts +15 -0
  310. package/src/pkg/commands/hstrlen.ts +12 -0
  311. package/src/pkg/commands/httl.ts +13 -0
  312. package/src/pkg/commands/hvals.ts +12 -0
  313. package/src/pkg/commands/incr.ts +12 -0
  314. package/src/pkg/commands/incrby.ts +12 -0
  315. package/src/pkg/commands/incrbyfloat.ts +12 -0
  316. package/src/pkg/commands/json_arrappend.ts +18 -0
  317. package/src/pkg/commands/json_arrindex.ts +15 -0
  318. package/src/pkg/commands/json_arrinsert.ts +18 -0
  319. package/src/pkg/commands/json_arrlen.ts +15 -0
  320. package/src/pkg/commands/json_arrpop.ts +15 -0
  321. package/src/pkg/commands/json_arrtrim.ts +19 -0
  322. package/src/pkg/commands/json_clear.ts +12 -0
  323. package/src/pkg/commands/json_del.ts +12 -0
  324. package/src/pkg/commands/json_forget.ts +12 -0
  325. package/src/pkg/commands/json_get.ts +45 -0
  326. package/src/pkg/commands/json_merge.ts +18 -0
  327. package/src/pkg/commands/json_mget.ts +12 -0
  328. package/src/pkg/commands/json_mset.ts +27 -0
  329. package/src/pkg/commands/json_numincrby.ts +15 -0
  330. package/src/pkg/commands/json_nummultby.ts +15 -0
  331. package/src/pkg/commands/json_objkeys.ts +15 -0
  332. package/src/pkg/commands/json_objlen.ts +15 -0
  333. package/src/pkg/commands/json_resp.ts +11 -0
  334. package/src/pkg/commands/json_set.ts +35 -0
  335. package/src/pkg/commands/json_strappend.ts +15 -0
  336. package/src/pkg/commands/json_strlen.ts +15 -0
  337. package/src/pkg/commands/json_toggle.ts +12 -0
  338. package/src/pkg/commands/json_type.ts +12 -0
  339. package/src/pkg/commands/keys.ts +12 -0
  340. package/src/pkg/commands/lindex.ts +11 -0
  341. package/src/pkg/commands/linsert.ts +10 -0
  342. package/src/pkg/commands/llen.ts +12 -0
  343. package/src/pkg/commands/lmove.ts +20 -0
  344. package/src/pkg/commands/lmpop.ts +19 -0
  345. package/src/pkg/commands/lpop.ts +18 -0
  346. package/src/pkg/commands/lpos.ts +26 -0
  347. package/src/pkg/commands/lpush.ts +12 -0
  348. package/src/pkg/commands/lpushx.ts +12 -0
  349. package/src/pkg/commands/lrange.ts +11 -0
  350. package/src/pkg/commands/lrem.ts +10 -0
  351. package/src/pkg/commands/lset.ts +8 -0
  352. package/src/pkg/commands/ltrim.ts +8 -0
  353. package/src/pkg/commands/mget.ts +15 -0
  354. package/src/pkg/commands/mod.ts +222 -0
  355. package/src/pkg/commands/mset.ts +12 -0
  356. package/src/pkg/commands/msetnx.ts +12 -0
  357. package/src/pkg/commands/persist.ts +12 -0
  358. package/src/pkg/commands/pexpire.ts +16 -0
  359. package/src/pkg/commands/pexpireat.ts +16 -0
  360. package/src/pkg/commands/pfadd.ts +11 -0
  361. package/src/pkg/commands/pfcount.ts +11 -0
  362. package/src/pkg/commands/pfmerge.ts +11 -0
  363. package/src/pkg/commands/ping.ts +15 -0
  364. package/src/pkg/commands/psetex.ts +14 -0
  365. package/src/pkg/commands/psubscribe.ts +26 -0
  366. package/src/pkg/commands/pttl.ts +12 -0
  367. package/src/pkg/commands/publish.ts +12 -0
  368. package/src/pkg/commands/randomkey.ts +12 -0
  369. package/src/pkg/commands/rename.ts +12 -0
  370. package/src/pkg/commands/renamenx.ts +12 -0
  371. package/src/pkg/commands/rpop.ts +21 -0
  372. package/src/pkg/commands/rpush.ts +12 -0
  373. package/src/pkg/commands/rpushx.ts +12 -0
  374. package/src/pkg/commands/sadd.ts +15 -0
  375. package/src/pkg/commands/scan.ts +63 -0
  376. package/src/pkg/commands/scard.ts +11 -0
  377. package/src/pkg/commands/script_exists.ts +15 -0
  378. package/src/pkg/commands/script_flush.ts +22 -0
  379. package/src/pkg/commands/script_load.ts +12 -0
  380. package/src/pkg/commands/sdiff.ts +11 -0
  381. package/src/pkg/commands/sdiffstore.ts +14 -0
  382. package/src/pkg/commands/search/command-builder.ts +162 -0
  383. package/src/pkg/commands/search/index.ts +4 -0
  384. package/src/pkg/commands/search/schema-builder.ts +320 -0
  385. package/src/pkg/commands/search/search.ts +218 -0
  386. package/src/pkg/commands/search/types.ts +1029 -0
  387. package/src/pkg/commands/search/utils.ts +275 -0
  388. package/src/pkg/commands/set.ts +52 -0
  389. package/src/pkg/commands/setbit.ts +15 -0
  390. package/src/pkg/commands/setex.ts +11 -0
  391. package/src/pkg/commands/setnx.ts +11 -0
  392. package/src/pkg/commands/setrange.ts +15 -0
  393. package/src/pkg/commands/sinter.ts +11 -0
  394. package/src/pkg/commands/sintercard.ts +19 -0
  395. package/src/pkg/commands/sinterstore.ts +14 -0
  396. package/src/pkg/commands/sismember.ts +11 -0
  397. package/src/pkg/commands/smembers.ts +12 -0
  398. package/src/pkg/commands/smismember.ts +17 -0
  399. package/src/pkg/commands/smove.ts +14 -0
  400. package/src/pkg/commands/spop.ts +18 -0
  401. package/src/pkg/commands/srandmember.ts +18 -0
  402. package/src/pkg/commands/srem.ts +11 -0
  403. package/src/pkg/commands/sscan.ts +31 -0
  404. package/src/pkg/commands/strlen.ts +12 -0
  405. package/src/pkg/commands/subscribe.ts +254 -0
  406. package/src/pkg/commands/sunion.ts +12 -0
  407. package/src/pkg/commands/sunionstore.ts +15 -0
  408. package/src/pkg/commands/time.ts +10 -0
  409. package/src/pkg/commands/touch.ts +12 -0
  410. package/src/pkg/commands/ttl.ts +12 -0
  411. package/src/pkg/commands/type.ts +13 -0
  412. package/src/pkg/commands/types.ts +201 -0
  413. package/src/pkg/commands/unlink.ts +12 -0
  414. package/src/pkg/commands/vector/index.ts +11 -0
  415. package/src/pkg/commands/vector/types.ts +63 -0
  416. package/src/pkg/commands/vector/utils.ts +67 -0
  417. package/src/pkg/commands/vector/vector.ts +131 -0
  418. package/src/pkg/commands/vector_add.ts +18 -0
  419. package/src/pkg/commands/vector_count.ts +11 -0
  420. package/src/pkg/commands/vector_create.ts +28 -0
  421. package/src/pkg/commands/vector_del.ts +13 -0
  422. package/src/pkg/commands/vector_drop.ts +13 -0
  423. package/src/pkg/commands/vector_get.ts +18 -0
  424. package/src/pkg/commands/vector_info.ts +25 -0
  425. package/src/pkg/commands/vector_query.ts +24 -0
  426. package/src/pkg/commands/xack.ts +16 -0
  427. package/src/pkg/commands/xackdel.ts +21 -0
  428. package/src/pkg/commands/xadd.ts +70 -0
  429. package/src/pkg/commands/xautoclaim.ts +31 -0
  430. package/src/pkg/commands/xclaim.ts +56 -0
  431. package/src/pkg/commands/xdel.ts +16 -0
  432. package/src/pkg/commands/xdelex.ts +25 -0
  433. package/src/pkg/commands/xgroup.ts +101 -0
  434. package/src/pkg/commands/xinfo.ts +28 -0
  435. package/src/pkg/commands/xlen.ts +12 -0
  436. package/src/pkg/commands/xpending.ts +44 -0
  437. package/src/pkg/commands/xrange.ts +49 -0
  438. package/src/pkg/commands/xread.ts +78 -0
  439. package/src/pkg/commands/xreadgroup.ts +74 -0
  440. package/src/pkg/commands/xrevrange.ts +48 -0
  441. package/src/pkg/commands/xtrim.ts +25 -0
  442. package/src/pkg/commands/zadd.ts +54 -0
  443. package/src/pkg/commands/zcard.ts +12 -0
  444. package/src/pkg/commands/zcount.ts +14 -0
  445. package/src/pkg/commands/zdiffstore.ts +15 -0
  446. package/src/pkg/commands/zincrby.ts +14 -0
  447. package/src/pkg/commands/zinterstore.ts +51 -0
  448. package/src/pkg/commands/zlexcount.ts +11 -0
  449. package/src/pkg/commands/zmscore.ts +16 -0
  450. package/src/pkg/commands/zpopmax.ts +18 -0
  451. package/src/pkg/commands/zpopmin.ts +18 -0
  452. package/src/pkg/commands/zrange.ts +72 -0
  453. package/src/pkg/commands/zrank.ts +14 -0
  454. package/src/pkg/commands/zrem.ts +11 -0
  455. package/src/pkg/commands/zremrangebylex.ts +11 -0
  456. package/src/pkg/commands/zremrangebyrank.ts +14 -0
  457. package/src/pkg/commands/zremrangebyscore.ts +18 -0
  458. package/src/pkg/commands/zrevrank.ts +14 -0
  459. package/src/pkg/commands/zscan.ts +31 -0
  460. package/src/pkg/commands/zscore.ts +15 -0
  461. package/src/pkg/commands/zunion.ts +54 -0
  462. package/src/pkg/commands/zunionstore.ts +52 -0
  463. package/src/pkg/error.ts +28 -0
  464. package/src/pkg/http.ts +458 -0
  465. package/src/pkg/index.ts +1 -0
  466. package/src/pkg/pipeline.ts +2041 -0
  467. package/src/pkg/redis.ts +2130 -0
  468. package/src/pkg/script.ts +100 -0
  469. package/src/pkg/scriptRo.ts +98 -0
  470. package/src/pkg/types.ts +35 -0
  471. package/src/pkg/util.ts +115 -0
  472. package/src/platforms/cloudflare.ts +162 -0
  473. package/src/platforms/fastly.ts +105 -0
  474. package/src/platforms/nodejs.ts +231 -0
  475. package/src/version.ts +1 -0
@@ -0,0 +1,79 @@
1
+ ---
2
+ title: SET
3
+ description: Set a key to hold a string value.
4
+ ---
5
+
6
+ ## Arguments
7
+
8
+ <ParamField body="key" type="string" required>
9
+ The key
10
+ </ParamField>
11
+
12
+ <ParamField body="value" type="TValue" required>
13
+ The value, if this is not a string, we will use `JSON.stringify` to convert it
14
+ to a string.
15
+ </ParamField>
16
+
17
+ <ParamField body="opts" type="object">
18
+ You can pass a few options to the command.
19
+ <Expandable >
20
+
21
+ <ParamField body="get" type="boolean">
22
+ Instead of returning `"OK"`, this will cause the command to return the old
23
+ value stored at key, or `null` when key did not exist.
24
+ </ParamField>
25
+ <ParamField body="ex" type="integer">
26
+ Adds an expiration (in seconds) to the key.
27
+ </ParamField>
28
+ <ParamField body="px" type="integer">
29
+ Adds an expiration (in milliseconds) to the key.
30
+ </ParamField>
31
+ <ParamField body="exat" type="integer">
32
+ Expires the key after the given timestamp (in seconds).
33
+ </ParamField>
34
+
35
+ <ParamField body="pxat" type="integer">
36
+ Expires the key after the given timestamp (in milliseconds).
37
+ </ParamField>
38
+
39
+ <ParamField body="keepTtl" type="boolean">
40
+ Keeps the old expiration if the key already exists.
41
+ </ParamField>
42
+
43
+ <ParamField body="nx" type="boolean">
44
+ Only set the key if it does not already exist.
45
+ </ParamField>
46
+
47
+ <ParamField body="xx" type="boolean">
48
+ Only set the key if it already exists.
49
+ </ParamField>
50
+
51
+
52
+
53
+ </Expandable>
54
+
55
+ </ParamField>
56
+
57
+ ## Response
58
+
59
+ <ResponseField required>
60
+ `"OK"`
61
+ </ResponseField>
62
+
63
+ <RequestExample>
64
+ ```ts Basic
65
+ await redis.set("my-key", {my: "value"});
66
+ ```
67
+
68
+ ```ts Expire in 60 seconds
69
+ await redis.set("my-key", {my: "value"}, {
70
+ ex: 60
71
+ });
72
+ ```
73
+
74
+ ```ts Only update
75
+ await redis.set("my-key", {my: "value"}, {
76
+ xx: true
77
+ });
78
+ ```
79
+ </RequestExample>
@@ -0,0 +1,38 @@
1
+ ---
2
+ title: SETRANGE
3
+ description: Writes the value of key at offset.
4
+ ---
5
+
6
+ The SETRANGE command in Redis is used to modify a portion of the value of a key by replacing a substring within the key's existing value. It allows you to update part of the string value associated with a specific key at a specified offset.
7
+
8
+ ## Arguments
9
+
10
+ <ParamField body="key" type="string" required>
11
+ The name of the Redis key for which you want to modify the value.
12
+ </ParamField>
13
+
14
+ <ParamField body="offset" type="integer" required>
15
+ The zero-based index in the value where you want to start replacing characters.
16
+ </ParamField>
17
+
18
+ <ParamField body="value" type="string" required>
19
+ The new string that you want to insert at the specified offset in the existing value.
20
+ </ParamField>
21
+
22
+
23
+ ## Response
24
+
25
+ <ResponseField type="integer" required>
26
+ The length of the value after it was modified.
27
+ </ResponseField>
28
+
29
+ <RequestExample>
30
+ ```ts Example
31
+ await redis.set("key", "helloworld")
32
+ const length = await redis.setrange("key", 5, "redis");
33
+ console.log(length); // 10
34
+
35
+ // The value of "key" is now "helloredis"
36
+ ```
37
+
38
+ </RequestExample>
@@ -0,0 +1,26 @@
1
+ ---
2
+ title: STRLEN
3
+ description: Return the length of a string stored at a key.
4
+ ---
5
+
6
+ The `STRLEN`` command in Redis is used to find the length of the string value associated with a key. In Redis, keys can be associated with various data types, and one of these data types is the "string." The STRLEN command specifically operates on keys that are associated with string values.
7
+ ## Arguments
8
+
9
+ <ParamField body="key" type="string" required>
10
+ The name of the Redis key.
11
+ </ParamField>
12
+
13
+ ## Response
14
+
15
+ <ResponseField type="integer" required>
16
+ The length of the value.
17
+ </ResponseField>
18
+
19
+ <RequestExample>
20
+ ```ts Example
21
+ await redis.set("key", "helloworld")
22
+ const length = await redis.strlen("key");
23
+ console.log(length); // 10
24
+ ```
25
+
26
+ </RequestExample>
@@ -0,0 +1,22 @@
1
+ ---
2
+ title: Transactions
3
+ description: Transactions
4
+ ---
5
+
6
+ You can use transactions or pipelines with the `multi` or `pipeline` method.
7
+
8
+ Transactions are executed atomically, while pipelines are not. In pipelines you can execute multiple commands at once, but other commands from other clients can be executed in between.
9
+
10
+ <CodeGroup>
11
+
12
+ ```ts Transaction
13
+ const tx = redis.multi();
14
+ tx.set("foo", "bar");
15
+ tx.get("foo");
16
+ const res = await tx.exec();
17
+ ```
18
+
19
+ </CodeGroup>
20
+
21
+ For more information on pipelines and transactions, see
22
+ [the Pipeline page](https://docs.upstash.com/redis/sdks/ts/pipelining/pipeline-transaction).
@@ -0,0 +1,102 @@
1
+ ---
2
+ title: ZADD
3
+ description: Add a member to a sorted set, or update its score if it already exists.
4
+ ---
5
+
6
+
7
+ ## Arguments
8
+
9
+ <ParamField body="key" type="string" required>
10
+ The key of the sorted set.
11
+ </ParamField>
12
+
13
+ <ParamField body="options">
14
+ <ParamField body="xx" type="boolean">
15
+ Only update elements that already exist. Never add elements.
16
+ </ParamField>
17
+ <ParamField body="nx" type="boolean">
18
+ Only add new elements. Never update elements.
19
+ </ParamField>
20
+ <ParamField body="ch" type="boolean">
21
+ Return the number of elements added or updated.
22
+ </ParamField>
23
+ <ParamField body="incr" type="boolean">
24
+ When this option is specified ZADD acts like ZINCRBY. Only one score-element pair can be specified in this mode.
25
+ </ParamField>
26
+ <ParamField body="gt" type="boolean">
27
+ Only update existing elements if the new score is greater than the current score. Add element without a check if it does not exist.
28
+ </ParamField>
29
+ <ParamField body="lt" type="boolean">
30
+ Only update existing elements if the new score is less than the current score. Add element without a check if it does not exist.
31
+ </ParamField>
32
+ </ParamField>
33
+
34
+ ## Response
35
+
36
+ <ResponseField type="integer" required>
37
+ The number of elements added to the sorted sets, not including elements already existing for which the score was updated.
38
+
39
+ If `ch` was specified, the number of elements that were updated.
40
+
41
+ If `incr` was specified, the new score of `member`.
42
+ </ResponseField>
43
+
44
+
45
+
46
+ <RequestExample>
47
+ ```ts Simple
48
+ await redis.zadd(
49
+ "key",
50
+ { score: 2, member: "member" },
51
+ { score: 3, member: "member2"},
52
+ );
53
+ ```
54
+
55
+ ```ts XX
56
+ await redis.zadd(
57
+ "key",
58
+ { xx: true },
59
+ { score: 2, member: "member" },
60
+ )
61
+ ```
62
+
63
+ ```ts NX
64
+ await redis.zadd(
65
+ "key",
66
+ { nx: true },
67
+ { score: 2, member: "member" },
68
+ )
69
+ ```
70
+
71
+ ```ts CH
72
+ await redis.zadd(
73
+ "key",
74
+ { ch: true },
75
+ { score: 2, member: "member" },
76
+ )
77
+ ```
78
+
79
+ ```ts INCR
80
+ await redis.zadd(
81
+ "key",
82
+ { cincrh: true },
83
+ { score: 2, member: "member" },
84
+ )
85
+ ```
86
+
87
+ ```ts GT
88
+ await redis.zadd(
89
+ "key",
90
+ { gt: true },
91
+ { score: 2, member: "member" },
92
+ )
93
+ ```
94
+
95
+ ```ts LT
96
+ await redis.zadd(
97
+ "key",
98
+ { lt: true },
99
+ { score: 2, member: "member" },
100
+ )
101
+ ```
102
+ </RequestExample>
@@ -0,0 +1,31 @@
1
+ ---
2
+ title: ZCARD
3
+ description: Returns the number of elements in the sorted set 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
+ ## Response
14
+
15
+ <ResponseField type="integer" required>
16
+ The number of elements in the sorted set.
17
+ </ResponseField>
18
+
19
+
20
+
21
+ <RequestExample>
22
+ ```ts Example
23
+
24
+ await redis.zadd("key",
25
+ { score: 1, member: "one"},
26
+ { score: 2, member: "two" },
27
+ );
28
+ const elements = await redis.zcard("key");
29
+ console.log(elements); // 2
30
+ ```
31
+ </RequestExample>
@@ -0,0 +1,47 @@
1
+ ---
2
+ title: ZCOUNT
3
+ description: Returns the number of elements in the sorted set stored at key filterd by score.
4
+ ---
5
+
6
+
7
+ ## Arguments
8
+
9
+ <ParamField body="key" type="string" required>
10
+ The key to get.
11
+ </ParamField>
12
+
13
+ <ParamField body="min" type="integer | string" required>
14
+ The minimum score to filter by.
15
+
16
+ Use `-inf` to effectively ignore this filter.
17
+
18
+ Use `(number` to exclude the value.
19
+ </ParamField>
20
+
21
+
22
+ <ParamField body="max" type="integer | string" required>
23
+ The maximum score to filter by.
24
+
25
+ Use `+inf` to effectively ignore this filter.
26
+
27
+ Use `(number` to exclude the value.
28
+ </ParamField>
29
+
30
+ ## Response
31
+
32
+ <ResponseField type="integer" required>
33
+ The number of elements where score is between min and max.
34
+ </ResponseField>
35
+
36
+
37
+
38
+ <RequestExample>
39
+ ```ts Example
40
+ await redis.zadd("key",
41
+ { score: 1, member: "one"},
42
+ { score: 2, member: "two" },
43
+ );
44
+ const elements = await redis.zcount("key", "(1", "+inf");
45
+ console.log(elements); // 1
46
+ ```
47
+ </RequestExample>
@@ -0,0 +1,33 @@
1
+ ---
2
+ title: ZDIFFSTORE
3
+ description: Writes the difference between sets to a new key.
4
+ ---
5
+
6
+
7
+ ## Arguments
8
+
9
+ <ParamField body="destination" type="string" required>
10
+ The key to write the difference to.
11
+ </ParamField>
12
+
13
+ <ParamField body="keys" type="integer" required>
14
+ How many keys to compare.
15
+ </ParamField>
16
+
17
+ <ParamField body="keys" type="...string[]" required>
18
+ The keys to compare.
19
+ </ParamField>
20
+
21
+ ## Response
22
+
23
+ <ResponseField required>
24
+ The number of elements in the resulting set.
25
+ </ResponseField>
26
+
27
+
28
+
29
+ <RequestExample>
30
+ ```ts Example
31
+ const values = await redis.zdiffstore("destination", 2, "key1", "key2");
32
+ ```
33
+ </RequestExample>
@@ -0,0 +1,37 @@
1
+ ---
2
+ title: ZINCRBY
3
+ description: Increment the score of a member.
4
+ ---
5
+
6
+
7
+ ## Arguments
8
+
9
+ <ParamField body="key" type="string" required>
10
+ The key of the sorted set.
11
+ </ParamField>
12
+
13
+ <ParamField body="increment" type="integer" required>
14
+ The increment to add to the score.
15
+ </ParamField>
16
+
17
+
18
+ <ParamField body="member" type="TMember" required>
19
+ The member to increment.
20
+ </ParamField>
21
+
22
+
23
+ ## Response
24
+
25
+ <ResponseField type="integer" required>
26
+ The new score of `member` after the increment operation.
27
+ </ResponseField>
28
+
29
+
30
+
31
+ <RequestExample>
32
+ ```ts Example
33
+ await redis.zadd("key", 1, "member");
34
+ const value = await redis.zincrby("key", 2, "member");
35
+ console.log(value); // 3
36
+ ```
37
+ </RequestExample>
@@ -0,0 +1,98 @@
1
+ ---
2
+ title: ZINTERSTORE
3
+ description: Writes the intersection between sets to a new key.
4
+ ---
5
+
6
+
7
+ ## Arguments
8
+
9
+ <ParamField body="destination" type="string" required>
10
+ The key to write the intersection to.
11
+ </ParamField>
12
+
13
+ <ParamField body="keys" type="integer" required>
14
+ How many keys to compare.
15
+ </ParamField>
16
+
17
+ <ParamField body="keys" type="string | string[]" required>
18
+ The keys to compare.
19
+ </ParamField>
20
+
21
+ <ParamField body="options">
22
+ <ParamField body="aggregate" type="sum | min | max">
23
+ The aggregation method.
24
+ </ParamField>
25
+
26
+ <ParamField body="weight" type="number">
27
+ The weight to apply to each key.
28
+ </ParamField>
29
+
30
+ <ParamField body="weights" type="number[]">
31
+ The weights to apply to each key.
32
+ </ParamField>
33
+
34
+ </ParamField>
35
+
36
+ ## Response
37
+
38
+ <ResponseField required>
39
+ The number of elements in the resulting set.
40
+ </ResponseField>
41
+
42
+
43
+
44
+ <RequestExample>
45
+ ```ts Simple
46
+ await redis.zadd(
47
+ "key1",
48
+ { score: 1, member: "member1" },
49
+ )
50
+ await redis.zadd(
51
+ "key2",
52
+ { score: 1, member: "member1" },
53
+ { score: 2, member: "member2" },
54
+ )
55
+
56
+ const res = await redis.zinterstore("destination", 2, ["key1", "key2"]);
57
+ console.log(res) // 1
58
+ ```
59
+
60
+ ```ts With Weights
61
+ await redis.zadd(
62
+ "key1",
63
+ { score: 1, member: "member1" },
64
+ )
65
+ await redis.zadd(
66
+ "key2",
67
+ { score: 1, member: "member1" },
68
+ { score: 2, member: "member2" },
69
+ )
70
+ const res = await redis.zinterstore(
71
+ "destination",
72
+ 2,
73
+ ["key1", "key2"],
74
+ { weights: [2, 3] },
75
+ );
76
+ console.log(res) // 1
77
+ ```
78
+
79
+
80
+ ```ts Aggregate
81
+ await redis.zadd(
82
+ "key1",
83
+ { score: 1, member: "member1" },
84
+ )
85
+ await redis.zadd(
86
+ "key2",
87
+ { score: 1, member: "member1" },
88
+ { score: 2, member: "member2" },
89
+ )
90
+ const res = await redis.zinterstore(
91
+ "destination",
92
+ 2,
93
+ ["key1", "key2"],
94
+ { aggregate: "sum" },
95
+ );
96
+ console.log(res) // 1
97
+ ```
98
+ </RequestExample>
@@ -0,0 +1,43 @@
1
+ ---
2
+ title: ZLEXCOUNT
3
+ description: Returns the number of elements in the sorted set stored at key filtered by lex.
4
+ ---
5
+
6
+
7
+ ## Arguments
8
+
9
+ <ParamField body="key" type="string" required>
10
+ The key to get.
11
+ </ParamField>
12
+
13
+ <ParamField body="min" type="string" required>
14
+ The lower lexicographical bound to filter by.
15
+
16
+ Use `-` to disable the lower bound.
17
+ </ParamField>
18
+
19
+
20
+ <ParamField body="max" type="string" required>
21
+ The upper lexicographical bound to filter by.
22
+
23
+ Use `+` to disable the upper bound.
24
+ </ParamField>
25
+
26
+ ## Response
27
+
28
+ <ResponseField type="integer" required>
29
+ The number of matched.
30
+ </ResponseField>
31
+
32
+
33
+
34
+ <RequestExample>
35
+ ```ts Example
36
+ await redis.zadd("key",
37
+ { score: 1, member: "one"},
38
+ { score: 2, member: "two" },
39
+ );
40
+ const elements = await redis.zlexcount("key", "two", "+");
41
+ console.log(elements); // 1
42
+ ```
43
+ </RequestExample>
@@ -0,0 +1,34 @@
1
+ ---
2
+ title: ZMSCORE
3
+ description: Returns the scores of multiple members.
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 body="members" type="TMember[]" required>
16
+ The members of the sorted set.
17
+ </ResponseField>
18
+
19
+
20
+
21
+ <RequestExample>
22
+ ```ts Example
23
+
24
+ await redis.zadd("key",
25
+ { score: 1, member: "m1" },
26
+ { score: 2, member: "m2" },
27
+ { score: 3, member: "m3" },
28
+ { score: 4, member: "m4" },
29
+ )
30
+
31
+ const scores = await redis.zmscore("key", ["m2", "m4"])
32
+ console.log(scores) // [2, 4]
33
+ ```
34
+ </RequestExample>
@@ -0,0 +1,25 @@
1
+ ---
2
+ title: ZPOPMAX
3
+ description: Removes and returns up to count members with the highest scores in the sorted set stored at key.
4
+ ---
5
+
6
+
7
+ ## Arguments
8
+
9
+ <ParamField body="key" type="string" required>
10
+ The key of the sorted set
11
+ </ParamField>
12
+
13
+ ## Response
14
+
15
+ <ResponseField body="count" type="integer">
16
+ The number of elements removed. Defaults to 1.
17
+ </ResponseField>
18
+
19
+
20
+
21
+ <RequestExample>
22
+ ```ts Example
23
+ const popped = await redis.zpopmax("key", 4);
24
+ ```
25
+ </RequestExample>
@@ -0,0 +1,25 @@
1
+ ---
2
+ title: ZPOPMIN
3
+ description: Removes and returns up to count members with the lowest scores in the sorted set stored at key.
4
+ ---
5
+
6
+
7
+ ## Arguments
8
+
9
+ <ParamField body="key" type="string" required>
10
+ The key of the sorted set
11
+ </ParamField>
12
+
13
+ ## Response
14
+
15
+ <ResponseField body="count" type="integer">
16
+ The number of elements removed. Defaults to 1.
17
+ </ResponseField>
18
+
19
+
20
+
21
+ <RequestExample>
22
+ ```ts Example
23
+ const popped = await redis.zpopmin("key", 4);
24
+ ```
25
+ </RequestExample>