redis hget对持有错误类型值的键抛出错误类型操作

q5iwbnjs  于 2021-06-09  发布在  Redis
关注(0)|答案(0)|浏览(317)

我使用nodejs在redis键字段中获取一个值。像这样:

let result = await redisM.hget('aaa:bbb', 'profiles');

我要查找的值是一个对象,但我不断得到“针对持有错误类型值的键的错误类型操作”异常,如果打印hget方法中的错误,我会得到:

------------------------------------
{ ReplyError: WRONGTYPE Operation against a key holding the wrong kind of value
    at parseError (/PATH123/node_modules/redis-parser/lib/parser.js:193:12)
    at parseType (/PATH123/node_modules/redis-parser/lib/parser.js:303:14)
  command: 'HGET',
  args: [ 'aaa:bbb', 'profiles' ],
  code: 'WRONGTYPE' }
------------------------------------

如果我刷新redis db,运行 HGET aaa:bbb profiles 在redis cli中 (nil) 结果,但这不应该抛出这个错误,还是呢?
另外,如果我通过redis cli为该键设置了一个值,那么我可以在以后使用hget获取它的值:

HSET sip_profiles profiles {}
(integer) 1

HGET sip_profiles profiles
"{}"

不明白为什么它可以与redis cli一起工作,而不能与node一起工作。。。即使有空钥匙。。。
使用的节点依赖关系: "redis": "^2.8.0"

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题