Я использую nodeJs для получения значения в поле ключа Redis. Что-то вроде этого:
let result = await redisM.hget('aaa:bbb', 'profiles');
Значение, которое я ищу, является объектом, но я продолжаю получать операцию WRONGTYPE для ключа, содержащего неправильный тип исключения значения, и если я печатаю ошибку из метода 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, запускаю HGET aaa:bbb profiles
в redis-cli, я получаю результат (nil)
, но это не должно вызывать эту ошибку, или это так?
Кроме того, если я установлю значение для этого ключа через redis-cli, я смогу получить его значение с помощью HGET впоследствии:
HSET sip_profiles profiles {}
(integer) 1
HGET sip_profiles profiles
"{}"
Не понимаю, почему это работает с redis-cli, но не с узлом... даже с пустым ключом...
Используемая зависимость узла: "redis": "^2.8.0"
hset
значение в своем коде? - person eol   schedule 20.10.2020null
, если я вызываюhget
с несуществующим ключом. Вы уверены, что нет входа с таким ключом? - person eol   schedule 20.10.2020ioredis
- person eol   schedule 21.10.2020