как хранить байтовые массивы с помощью Jedis

Я использую Redis и его java-интерфейс Jedis, но у меня проблема с тем, как я могу хранить список массивов байтов, я видел набор, но он работает только для строки и когда я пытаюсь создать список и добавить массив байтов, он работает, но когда я пытаюсь добавить еще один массив байтов в этот список, я получаю исключение, как я могу это решить?

заранее спасибо.

код:

  byte[] data = {12,23,45,67,127};
          byte[] data2 = {13,25,46,68,121,44};
          String id = "xyzd12";
          jedis.lpush(id.getBytes(),data);
          jedis.rpush(id.getBytes(),data2);

когда я запускаю этот код, я получаю исключение: redis.clients.jedis.exceptions.JedisDataException: ERR Operation against a key holding the wrong kind of value


person flashdisk    schedule 11.03.2015    source источник
comment
Не могли бы вы добавить свой код? Иначе трудно отлаживать   -  person StackExchange What The Heck    schedule 11.03.2015
comment
Я добавил пример кода   -  person flashdisk    schedule 11.03.2015
comment
Просто используйте методы, которые принимают bytearrays. Jedis расширяет BinaryJedis AFAIK.   -  person zenbeni    schedule 11.03.2015
comment
Как мне это сделать? Я новичок в этом, пожалуйста, добавьте несколько ссылок!   -  person flashdisk    schedule 11.03.2015
comment
@flashdisk Я не могу воспроизвести вашу ошибку! Когда я запускаю ваш код, все нормально. Какую версию джедаев вы используете? Вы выложили весь код?   -  person zenbeni    schedule 11.03.2015
comment
вы совершенно правы, это мой плохой!, спасибо за вашу помощь :)   -  person flashdisk    schedule 11.03.2015


Ответы (1)


Это сообщение об ошибке означает, что вы пытаетесь что-то сделать с неправильным типом данных. т. е. вы пытаетесь выполнить операцию со списком для ключа id.getBytes(), но id.getBytes() не является типом списка. Кажется, что у вашего экземпляра Redis уже есть этот ключ, и это не список.

# redis.c
shared.wrongtypeerr = createObject(REDIS_STRING,sdsnew("-WRONGTYPE Operation against a key holding the wrong kind of value\r\n"));

# t_list.c
if (lobj && lobj->type != REDIS_LIST) {
   addReply(c,shared.wrongtypeerr);
   return;
}
person MinGyoo Jung    schedule 15.03.2015