java 连接本地redis服务 报错
简单的 java list 实例,代码如下:
public class RedisJava {
public static void main(String[] args) {
//连接本地的 Redis 服务
Jedis jedis = new Jedis("localhost");
System.out.println("Connection to server sucessfully");
//查看服务是否运行
System.out.println("Server is running: "+jedis.ping());
System.out.println("===================================================");
// jedis.set("lubansoft", "I will leave you~");
// System.out.println("获取key=== "+jedis.get("lubansoft"));
// System.out.println("====================================================");
jedis.lpush("mykey", "java");
jedis.lpush("mykey", "23");
jedis.lpush("mykey", "day-line");
List<String> list= jedis.lrange("mykey",0,10);
for (String string : list) {
System.out.println("循环出的=== "+string);
}
}
}
报错:
public class RedisJava {
public static void main(String[] args) {
//连接本地的 Redis 服务
Jedis jedis = new Jedis("localhost");
System.out.println("Connection to server sucessfully");
//查看服务是否运行
System.out.println("Server is running: "+jedis.ping());
System.out.println("===================================================");
// jedis.set("lubansoft", "I will leave you~");
// System.out.println("获取key=== "+jedis.get("lubansoft"));
// System.out.println("====================================================");
jedis.lpush("mykey", "java");
jedis.lpush("mykey", "23");
jedis.lpush("mykey", "day-line");
List<String> list= jedis.lrange("mykey",0,10);
for (String string : list) {
System.out.println("循环出的=== "+string);
}
}
}
Exception in thread "main" redis.clients.jedis.exceptions.JedisDataException: ERR Operation against a key holding the wrong kind of value
at redis.clients.jedis.Protocol.processError(Protocol.java:117)
at redis.clients.jedis.Protocol.process(Protocol.java:151)
at redis.clients.jedis.Protocol.read(Protocol.java:205)
at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:297)
at redis.clients.jedis.Connection.getIntegerReply(Connection.java:222)
at redis.clients.jedis.Jedis.lpush(Jedis.java:830)
at redis.RedisJava.main(RedisJava.java:20)
但是把 list的key的名称 改为带有 list 的名字就可以正常了,
把 mykey 改为 mykey-list 即可。
命令进行存储,获取,不存在这种问题。