#node.js #redis
Вопрос:
я хочу добавить элементы в массив с помощью redis и RPush, но я обнаружил ошибку :
Код
const redis = require('redis');
const redisClient = redis.createClient();
var arr = ["some val","some val2","some val3"];
var multi = redisClient.multi();
for (var i=0; i<arr.length; i ) {
multi.rpush('veggies', arr[i]);
}
multi.exec(function(err, response) {
if(err) throw err;
console.log("response : ", response);
})
Ошибка
WRONGTYPE Operation against a key holding the wrong kind of value
Как я могу это решить ?
Спасибо.
Ответ №1:
Эта ошибка исходит от самого redis-сервера, и это означает, что тип значения, в котором оно хранится, veggies
не является a list
. Вы можете использовать TYPE
команду, чтобы проверить, какой тип значения хранится в определенном ключе.
TYPE veggies
Комментарии:
1. Тип-строка, и я нажимаю строки, но ошибка сохраняется
2. Я также получаю эту ошибку, когда пытаюсь «получить овощи 2».
3. Тип «строка», поэтому вы не можете использовать
RPUSH
, который работает только со списками. Что касается «veggies2» — команда GET работает только со строками, я предполагаю, что значение «veggies2» не является строкой.