jedisjava代码中的redis异常
我通过jedis在java上有以下代码:jedisjava代码中的redis异常,redis,jedis,Redis,Jedis,我通过jedis在java上有以下代码: int shb1 = jds.storeHypnoBeats(id1, arr1); 它调用此函数: int storeHypnoBeats(String id,byte[] data) { db.lpush(id.getBytes(),data); return 1; } 但当我运行java代码时,我得到了以下异常: Exception in thread "main" redis.clients.jedis.excepti
int shb1 = jds.storeHypnoBeats(id1, arr1);
它调用此函数:
int storeHypnoBeats(String id,byte[] data)
{
db.lpush(id.getBytes(),data);
return 1;
}
但当我运行java代码时,我得到了以下异常:
Exception in thread "main" redis.clients.jedis.exceptions.JedisDataException: ERR Operation against a key holding the wrong kind of value
以下是arr1和id的定义:
byte[] arr1 = new byte[]{1,2,3,4,5,6,7,8,9};
String id1 = "id1";
我已经检查过了,每件事都是正确的,为什么我要这么做
提前感谢id.getBytes返回字节数组,但lpush的签名是:
因此,键必须是字符串,而不是字节数组 您的密钥id不是列表,您可以使用redis type功能检查密钥类型,总结一下,您在该密钥中已经有数据,但它不是列表,因此操作失败。实际上它工作正常!,我必须重新启动redis服务器:
public Long lpush(String key,String... strings)