@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,16 @@
1
+ ---
2
+ title: FUNCTION FLUSH
3
+ description: Delete all the libraries and functions.
4
+ ---
5
+
6
+ ## Response
7
+
8
+ <ResponseField type="string" required>
9
+ "OK"
10
+ </ResponseField>
11
+
12
+ <RequestExample>
13
+ ```ts Example
14
+ await redis.functions.flush()
15
+ ```
16
+ </RequestExample>
@@ -0,0 +1,72 @@
1
+ ---
2
+ title: FUNCTION LIST
3
+ description: List details about the registered libraries and functions.
4
+ ---
5
+
6
+ ## Arguments
7
+
8
+ <ParamField body="options" type="Object">
9
+ The list options.
10
+ <Expandable>
11
+ <ParamField body="libraryName" type="string">
12
+ Pattern for matching library names.
13
+ </ParamField>
14
+ <ParamField body="withCode" type="boolean" default="false">
15
+ Whether to include the library source code in the response.
16
+ </ParamField>
17
+ </Expandable>
18
+ </ParamField>
19
+
20
+ ## Response
21
+
22
+ <ResponseField type="Object[]" required>
23
+ List of libraries.
24
+ <Expandable>
25
+ <ResponseField name="libraryName" type="string" required>
26
+ The name of the library.
27
+ </ResponseField>
28
+ <ResponseField name="engine" type="string" required>
29
+ The engine used by the library (e.g., "LUA").
30
+ </ResponseField>
31
+ <ResponseField name="functions" type="Object[]" required>
32
+ List of functions in the library.
33
+ <Expandable>
34
+ <ResponseField name="name" type="string" required>
35
+ The name of the function.
36
+ </ResponseField>
37
+ <ResponseField name="description" type="string | undefined" required>
38
+ The description of the function, or undefined if not provided.
39
+ </ResponseField>
40
+ <ResponseField name="flags" type="string[]" required>
41
+ List of flags for the function (e.g., "no-writes").
42
+ </ResponseField>
43
+ </Expandable>
44
+ </ResponseField>
45
+ <ResponseField name="libraryCode" type="string">
46
+ The source code of the library (only included if `withCode` is true).
47
+ </ResponseField>
48
+ </Expandable>
49
+ </ResponseField>
50
+
51
+ <RequestExample>
52
+ ```ts Example
53
+ const libs = await redis.functions.list({
54
+ libraryName: "mylib",
55
+ withCode: true
56
+ })
57
+
58
+ console.log(libs)
59
+ // [
60
+ // {
61
+ // libraryName: "mylib",
62
+ // engine: "LUA",
63
+ // functions: [{
64
+ // name: "my_func",
65
+ // description: null,
66
+ // flags: [ "no-writes" ]
67
+ // }],
68
+ // libraryCode: "#!lua name=mylib ..."
69
+ // }
70
+ // ]
71
+ ```
72
+ </RequestExample>
@@ -0,0 +1,64 @@
1
+ ---
2
+ title: FUNCTION LOAD
3
+ description: Load a library to Redis.
4
+ ---
5
+
6
+ Redis functions act as a superset of Lua scripts. Instead of sending the script
7
+ content with every request (like `EVAL`), you load the script once as a
8
+ "library" and call the functions it registers.
9
+
10
+ <Note>
11
+ Currently, `LUA` is the only supported engine.
12
+ </Note>
13
+
14
+ The library source code must start with the `#!lua name=<library_name>` shebang.
15
+ Inside the script, use `redis.register_function` to expose your functions.
16
+
17
+ The registered functions can be called with the [FCALL](./call) command.
18
+
19
+ ## Arguments
20
+
21
+ <ParamField body="options" type="Object" required>
22
+ The load options.
23
+ <Expandable>
24
+ <ParamField body="code" type="string" required>
25
+ The source code of the library.
26
+ </ParamField>
27
+ <ParamField body="replace" type="boolean" default="false">
28
+ Whether to overwrite the library if it already exists. If `false` and the
29
+ library already exists, Redis will return an error.
30
+ </ParamField>
31
+ </Expandable>
32
+ </ParamField>
33
+
34
+ ## Response
35
+
36
+ <ResponseField type="string" required>
37
+ The name of the loaded library.
38
+ </ResponseField>
39
+
40
+ <RequestExample>
41
+ ```ts Example
42
+ const code = `#!lua name=mylib
43
+
44
+ -- Simple function that returns a string
45
+ redis.register_function(
46
+ 'helloworld',
47
+ function() return 'Hello World!' end
48
+ )
49
+
50
+ -- Complex function that modifies data with logic
51
+ local function my_hset(keys, args)
52
+ local hash = keys[1]
53
+ local time = redis.call('TIME')[1]
54
+ return redis.call('HSET', hash, '_last_modified_', time, unpack(args))
55
+ end
56
+
57
+ redis.register_function('my_hset', my_hset)
58
+ `;
59
+
60
+ const libraryName = await redis.functions.load({ code, replace: true });
61
+
62
+ console.log(libraryName); // "mylib"
63
+ ```
64
+ </RequestExample>
@@ -0,0 +1,46 @@
1
+ ---
2
+ title: FUNCTION STATS
3
+ description: Return information about the function running engine.
4
+ ---
5
+
6
+ ## Response
7
+
8
+ <ResponseField type="Object" required>
9
+ Stats about the engines and functions.
10
+
11
+ <Note>
12
+ Currently, `LUA` is the only supported engine.
13
+ </Note>
14
+ <Expandable>
15
+ <ParamField body="engines" type="Object">
16
+ <Expandable>
17
+ <ParamField body="LUA" type="Object">
18
+ <Expandable>
19
+ <ParamField body="librariesCount" type="number">
20
+ The number of libraries.
21
+ </ParamField>
22
+ <ParamField body="functionsCount" type="number">
23
+ The number of functions.
24
+ </ParamField>
25
+ </Expandable>
26
+ </ParamField>
27
+ </Expandable>
28
+ </ParamField>
29
+ </Expandable>
30
+ </ResponseField>
31
+
32
+ <RequestExample>
33
+ ```ts Example
34
+ const stats = await redis.functions.stats()
35
+
36
+ console.log(stats)
37
+ // {
38
+ // engines: {
39
+ // LUA: {
40
+ // librariesCount: 3,
41
+ // functionsCount: 15
42
+ // }
43
+ // }
44
+ // }
45
+ ```
46
+ </RequestExample>
@@ -0,0 +1,29 @@
1
+ ---
2
+ title: DEL
3
+ description: Removes the specified keys. A key is ignored if it does not exist.
4
+ ---
5
+
6
+
7
+ ## Arguments
8
+
9
+ <ParamField body="keys" type="...string[]" required>
10
+ One or more keys to remove.
11
+ </ParamField>
12
+
13
+ ## Response
14
+
15
+ <ResponseField type="integer" required>
16
+ The number of keys that were removed.
17
+ </ResponseField>
18
+
19
+ <RequestExample>
20
+ ```ts Basic
21
+ await redis.del("key1", "key2");
22
+ ```
23
+ ```ts Array
24
+ // in case you have an array of keys
25
+ const keys = ["key1", "key2"];
26
+ await redis.del(...keys)
27
+
28
+ ```
29
+ </RequestExample>
@@ -0,0 +1,26 @@
1
+ ---
2
+ title: EXISTS
3
+ description: Check if a key exists.
4
+ ---
5
+
6
+
7
+ ## Arguments
8
+
9
+ <ParamField body="keys" type="...string[]" required>
10
+ One or more keys to check.
11
+ </ParamField>
12
+
13
+ ## Response
14
+
15
+ <ResponseField type="integer" required>
16
+ The number of keys that exist
17
+ </ResponseField>
18
+
19
+ <RequestExample>
20
+ ```ts Example
21
+ await redis.set("key1", "value1")
22
+ await redis.set("key2", "value2")
23
+ const keys = await redis.exists("key1", "key2", "key3");
24
+ console.log(keys) // 2
25
+ ```
26
+ </RequestExample>
@@ -0,0 +1,29 @@
1
+ ---
2
+ title: EXPIRE
3
+ description: Sets a timeout on key. The key will automatically be deleted.
4
+ ---
5
+
6
+
7
+ ## Arguments
8
+
9
+ <ParamField body="key" type="string" required>
10
+ The key to set the timeout on.
11
+ </ParamField>
12
+
13
+ <ParamField body="seconds" type="integer">
14
+ How many seconds until the key should be deleted.
15
+
16
+ </ParamField>
17
+
18
+ ## Response
19
+
20
+ <ResponseField type="integer" required>
21
+ `1` if the timeout was set, `0` otherwise
22
+ </ResponseField>
23
+
24
+ <RequestExample>
25
+ ```ts Example
26
+ await redis.set("mykey", "Hello");
27
+ await redis.expire("mykey", 10);
28
+ ```
29
+ </RequestExample>
@@ -0,0 +1,29 @@
1
+ ---
2
+ title: EXPIREAT
3
+ description: Sets a timeout on key. The key will automatically be deleted.
4
+ ---
5
+
6
+
7
+ ## Arguments
8
+
9
+ <ParamField body="key" type="string" required>
10
+ The key to set the timeout on.
11
+ </ParamField>
12
+
13
+ <ParamField body="unix" type="integer">
14
+ A unix timestamp in seconds at which point the key will expire.
15
+ </ParamField>
16
+
17
+ ## Response
18
+
19
+ <ResponseField type="integer" required>
20
+ `1` if the timeout was set, `0` otherwise
21
+ </ResponseField>
22
+
23
+ <RequestExample>
24
+ ```ts Example
25
+ await redis.set("mykey", "Hello");
26
+ const tenSecondsFromNow = Math.floor(Date.now() / 1000) + 10;
27
+ await redis.expireat("mykey", tenSecondsFromNow);
28
+ ```
29
+ </RequestExample>
@@ -0,0 +1,32 @@
1
+ ---
2
+ title: KEYS
3
+ description: Returns all keys matching pattern.
4
+ ---
5
+
6
+ <Warning>
7
+ This command can block the database for an extended period, especially with large datasets. We recommend using [SCAN](/redis/sdks/ts/commands/generic/scan) instead for production environments.
8
+
9
+ This command will return an error for databases containing more than 100,000 entries.
10
+ </Warning>
11
+
12
+
13
+ ## Arguments
14
+
15
+ <ParamField body="match" type="string" required>
16
+ A glob-style pattern. Use `*` to match all keys.
17
+ </ParamField>
18
+
19
+ ## Response
20
+
21
+ <ResponseField type="string[]" required>
22
+ Array of keys matching the pattern.
23
+ </ResponseField>
24
+
25
+ <RequestExample>
26
+ ```ts Example
27
+ const keys = await redis.keys("prefix*");
28
+ ```
29
+ ```ts Match All
30
+ const keys = await redis.keys("*");
31
+ ```
32
+ </RequestExample>
@@ -0,0 +1,23 @@
1
+ ---
2
+ title: PERSIST
3
+ description: Remove any timeout set on the key.
4
+ ---
5
+
6
+
7
+ ## Arguments
8
+
9
+ <ParamField body="key" type="string" required>
10
+ The key to persist
11
+ </ParamField>
12
+
13
+ ## Response
14
+
15
+ <ResponseField type="integer" required>
16
+ `1` if the timeout was removed, `0` if `key` does not exist or does not have an associated timeout.
17
+ </ResponseField>
18
+
19
+ <RequestExample>
20
+ ```ts Example
21
+ await redis.persist(key);
22
+ ```
23
+ </RequestExample>
@@ -0,0 +1,28 @@
1
+ ---
2
+ title: PEXPIRE
3
+ description: Sets a timeout on key. After the timeout has expired, the key will automatically be deleted.
4
+ ---
5
+
6
+
7
+ ## Arguments
8
+
9
+ <ParamField body="key" type="string" required>
10
+ The key to expire.
11
+ </ParamField>
12
+
13
+ <ParamField body="milliseconds" type="integer">
14
+ The number of milliseconds until the key expires.
15
+
16
+ </ParamField>
17
+
18
+ ## Response
19
+
20
+ <ResponseField type="integer" required>
21
+ `1` if the timeout was applied, `0` if `key` does not exist.
22
+ </ResponseField>
23
+
24
+ <RequestExample>
25
+ ```ts Example
26
+ await redis.pexpire(key, 60_000); // 1 minute
27
+ ```
28
+ </RequestExample>
@@ -0,0 +1,29 @@
1
+ ---
2
+ title: PEXPIREAT
3
+ description: Sets a timeout on key. After the timeout has expired, the key will automatically be deleted.
4
+ ---
5
+
6
+
7
+ ## Arguments
8
+
9
+ <ParamField body="key" type="string" required>
10
+ The key to expire.
11
+ </ParamField>
12
+
13
+ <ParamField body="unixmilli" type="integer">
14
+ The unix timestamp in milliseconds at which the key will expire.
15
+
16
+ </ParamField>
17
+
18
+ ## Response
19
+
20
+ <ResponseField type="integer" required>
21
+ `1` if the timeout was applied, `0` if `key` does not exist.
22
+ </ResponseField>
23
+
24
+ <RequestExample>
25
+ ```ts Example
26
+ const 10MinutesFromNow = Date.now() + 10 * 60 * 1000;
27
+ await redis.pexpireat(key, 10MinutesFromNow);
28
+ ```
29
+ </RequestExample>
@@ -0,0 +1,23 @@
1
+ ---
2
+ title: PTTL
3
+ description: Return the expiration in milliseconds of a key.
4
+ ---
5
+
6
+
7
+ ## Arguments
8
+
9
+ <ParamField body="key" type="string" required>
10
+ The key
11
+ </ParamField>
12
+
13
+ ## Response
14
+
15
+ <ResponseField type="integer" required>
16
+ The number of milliseconds until this expires, negative if the key does not exist or does not have an expiration set.
17
+ </ResponseField>
18
+
19
+ <RequestExample>
20
+ ```ts Example
21
+ const millis = await redis.pttl(key);
22
+ ```
23
+ </RequestExample>
@@ -0,0 +1,21 @@
1
+ ---
2
+ title: RANDOMKEY
3
+ description: Returns a random key from database
4
+ ---
5
+
6
+
7
+ ## Arguments
8
+
9
+ No arguments
10
+
11
+ ## Response
12
+
13
+ <ResponseField type="string" required>
14
+ A random key from database, or `null` when database is empty.
15
+ </ResponseField>
16
+
17
+ <RequestExample>
18
+ ```ts Example
19
+ const key = await redis.randomkey();
20
+ ```
21
+ </RequestExample>
@@ -0,0 +1,28 @@
1
+ ---
2
+ title: RENAME
3
+ description: Rename a key
4
+ ---
5
+
6
+
7
+ ## Arguments
8
+
9
+ <ParamField body="source" type="string" required>
10
+ The original key.
11
+ </ParamField>
12
+
13
+
14
+ <ParamField body="destination" type="string" required>
15
+ A new name for the key.
16
+ </ParamField>
17
+
18
+ ## Response
19
+
20
+ <ResponseField type="string" required>
21
+ `OK`
22
+ </ResponseField>
23
+
24
+ <RequestExample>
25
+ ```ts Example
26
+ await redis.rename("old", "new");
27
+ ```
28
+ </RequestExample>
@@ -0,0 +1,28 @@
1
+ ---
2
+ title: RENAMENX
3
+ description: Rename a key if it does not already exist.
4
+ ---
5
+
6
+
7
+ ## Arguments
8
+
9
+ <ParamField body="source" type="string" required>
10
+ The original key.
11
+ </ParamField>
12
+
13
+
14
+ <ParamField body="destination" type="string" required>
15
+ A new name for the key.
16
+ </ParamField>
17
+
18
+ ## Response
19
+
20
+ <ResponseField type="0 | 1" required>
21
+ `1` if key was renamed, `0` if key was not renamed.
22
+ </ResponseField>
23
+
24
+ <RequestExample>
25
+ ```ts Example
26
+ const renamed = await redis.renamenx("old", "new");
27
+ ```
28
+ </RequestExample>
@@ -0,0 +1,38 @@
1
+ ---
2
+ title: SCAN
3
+ description: Scan the database for keys.
4
+ ---
5
+
6
+ ## Arguments
7
+
8
+ <ParamField body="cursor" type="string">
9
+ The cursor value. Start with "0" on the first call, then use the cursor
10
+ returned by each call for the next. It's a string to safely support large
11
+ numbers that might exceed JavaScript's number limits.
12
+ </ParamField>
13
+
14
+ <ParamField body="options" type="Object">
15
+ <ParamField body="match" type="string">
16
+ Glob-style pattern to filter by field names.
17
+ </ParamField>
18
+ <ParamField body="count" type="number">
19
+ Number of fields to return per call.
20
+ </ParamField>
21
+ <ParamField body="type" type="string">
22
+ Filter by type. For example `string`, `hash`, `set`, `zset`, `list`,
23
+ `stream`.
24
+ </ParamField>
25
+ </ParamField>
26
+
27
+ ## Response
28
+
29
+ <ResponseField type="[string, string[]]" required>
30
+ Returns the next cursor and the list of matching keys. When the returned
31
+ cursor is "0", the scan is complete.
32
+ </ResponseField>
33
+
34
+ <RequestExample>
35
+ ```ts Basic
36
+ const [cursor, keys] = await redis.scan(0, { match: "*" });
37
+ ```
38
+ </RequestExample>
@@ -0,0 +1,23 @@
1
+ ---
2
+ title: TOUCH
3
+ description: Alters the last access time of one or more keys
4
+ ---
5
+
6
+
7
+ ## Arguments
8
+
9
+ <ParamField body="keys" type="...string[]" required>
10
+ One or more keys.
11
+ </ParamField>
12
+
13
+ ## Response
14
+
15
+ <ResponseField type="integer" required>
16
+ The number of keys that were touched.
17
+ </ResponseField>
18
+
19
+ <RequestExample>
20
+ ```ts Example
21
+ await redis.touch("key1", "key2", "key3");
22
+ ```
23
+ </RequestExample>
@@ -0,0 +1,23 @@
1
+ ---
2
+ title: TTL
3
+ description: Return the expiration in seconds of a key.
4
+ ---
5
+
6
+
7
+ ## Arguments
8
+
9
+ <ParamField body="key" type="string" required>
10
+ The key
11
+ </ParamField>
12
+
13
+ ## Response
14
+
15
+ <ResponseField type="integer" required>
16
+ The number of seconds until this expires, negative if the key does not exist or does not have an expiration set.
17
+ </ResponseField>
18
+
19
+ <RequestExample>
20
+ ```ts Example
21
+ const seconds = await redis.ttl(key);
22
+ ```
23
+ </RequestExample>
@@ -0,0 +1,27 @@
1
+ ---
2
+ title: TYPE
3
+ description: Get the type of a 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="string" required>
16
+ The type of the key.
17
+
18
+ One of `string` | `list` | `set` | `zset` | `hash` | `none`
19
+ </ResponseField>
20
+
21
+ <RequestExample>
22
+ ```ts Example
23
+ await redis.set("key", "value");
24
+ const t = await redis.type("key");
25
+ console.log(t) // "string"
26
+ ```
27
+ </RequestExample>
@@ -0,0 +1,29 @@
1
+ ---
2
+ title: UNLINK
3
+ description: Removes the specified keys. A key is ignored if it does not exist.
4
+ ---
5
+
6
+
7
+ ## Arguments
8
+
9
+ <ParamField body="keys" type="...string[]" required>
10
+ One or more keys to unlink.
11
+ </ParamField>
12
+
13
+ ## Response
14
+
15
+ <ResponseField type="integer" required>
16
+ The number of keys that were unlinked.
17
+ </ResponseField>
18
+
19
+ <RequestExample>
20
+ ```ts Basic
21
+ await redis.unlink("key1", "key2");
22
+ ```
23
+ ```ts Array
24
+ // in case you have an array of keys
25
+ const keys = ["key1", "key2"];
26
+ await redis.unlink(...keys)
27
+
28
+ ```
29
+ </RequestExample>