ERR value is not an integer or out of range


最近遇到了一个问题,使用incr计数,存进去了一个数字(Integer类型),但是因为默认是把value(Integer类型)序列化之后存进去的,调用incr方法时候报错了:

Caused by: redis.clients.jedis.exceptions.JedisDataException: ERR value is not an integer or out of range
    at redis.clients.jedis.Protocol.processError(Protocol.java:115)
    at redis.clients.jedis.Protocol.process(Protocol.java:133)
    at redis.clients.jedis.Protocol.read(Protocol.java:202)
    at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:285)
    at redis.clients.jedis.Connection.getIntegerReply(Connection.java:210)
    at redis.clients.jedis.Jedis.incrBy(Jedis.java:556)
    ... 81 common frames omitted

解决:存进去时直接使用set(String key,String value),不序列化value。


你可能感兴趣的:(ERR value is not an integer or out of range)