如何使用Jedis存储字节数组

时间:2015-03-11 08:53:24

标签: redis jedis

我正在使用 Redis 及其java接口 Jedis 但是我遇到了如何保存字节数组列表的问题,我看过set但是它有效仅用于字符串,当我尝试创建一个列表时,添加一个字节数组,但是当我尝试将另一个字节数组添加到该列表时,我得到一个异常,我该如何解决?

提前感谢。

代码:

  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

1 个答案:

答案 0 :(得分:0)

该错误消息表示您尝试对错误的数据类型执行某些操作。 即,您尝试对键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;
}