使用@upstash/redis的scan命令无法设置MATCH/COUNT参数求助
解决@upstash/redis中scan命令设置MATCH/COUNT参数的问题
- 正确的参数传递方式有两种:
使用对象选项(推荐,更符合JS风格)
客户端将Redis原生的MATCH/COUNT参数映射为小写的对象属性,直接传入包含这些属性的对象作为第二个参数:const result = await redis.scan(0, { match: 'title*', count: 100 });按Redis原生命令格式传递参数
直接传入字符串形式的命令关键字和对应值,注意关键字要加引号(避免未定义变量错误):const result = await redis.scan(0, 'MATCH', 'title*', 'COUNT', 100);
- 你之前的问题原因:
- 尝试
redis.scan(0, MATCH, 'title*')时,MATCH是未定义的变量,不是字符串,导致报错; - 使用
{MATCH:'title*'}时,对象键名用了大写的MATCH,但客户端期望的是小写的match,所以参数未被识别; redis.scan(0, (MATCH, 'title*'))这种写法语法错误,括号内的逗号表达式只会传递最后一个值。
- 尝试
内容的提问来源于stack exchange,提问作者popeating
相关产品推荐
相关产品推荐

