我通过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.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";
每件事都是正确的,因为我已经检查过,为什么我要gwt那个?!
提前致谢
答案 0 :(得分:0)
id.getBytes()
返回一个字节数组,但lpush
的签名是:
public Long lpush(String key,String... strings)
因此,密钥必须是string
而不是array of byte
。