jedis java代码中的redis异常

标签 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.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 那个?!

提前致谢

最佳答案

id.getBytes() 返回字节数组,但 lpush 的签名是:

public Long lpush(String key,String... strings)

因此,键必须是字符串,而不是字节数组

关于jedis java代码中的redis异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29009205/

相关文章:

docker - 我如何使用一个YAML部署两台服务器,其中一台取决于Kubernetes中的另一台

c# - StackExchange Redis 在使用异步插入/读取数据时丢失了一些键

Java连接池上的Redis

java与来自多个应用程序实例的redis一起工作

Redis Muti/Exec 与流水线性能

java - 使用 Spring Data Redis 在 Redis 中执行 SCAN 操作时出现 ERR 语法错误

node.js - Node JS Express 端口

c# - 如何使用 StackExchange.Redis 进行基本 WATCH

scala - 调用 Redis 方法时出现 NullPointerException

spring - org.springframework.core.convert.ConverterNotFoundException : No converter found capable of converting from type to type [java. lang.String] - Redis