ERR value is not an integer or out of range

最近遇到了一个问题,使用incr计数,存进去了一个数字(int类型),但是因为是序列化之后存进去的,调用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)
    at com.dangdang.framework.redis.jedis.cluster.core.SingleJedisClientImpl.incrBy(SingleJedisClientImpl.java:119)
    ... 81 common frames omitted

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

时间: 2024-10-14 18:39:03

ERR value is not an integer or out of range的相关文章

redis报错: redis.exceptions.ResponseError: value is not an integer or out of range

问题描述 今天在使用python的redis客户端时碰到了这样的报错:redis.exceptions.ResponseError: value is not an integer or out of range,是在使用setex函数时出的问题. 问题分析 明明在我的开发环境上跑的好好着,怎么到测试环境就有问题了?然后试着看了下我的开发环境和测试环境的redis客户端版本,一个是2.x,一个是3.x,测试环境的redis客户端是新安装的,那就把3.x卸了装个2.x吧,再跑的就ok了,看来是版本

分布式缓存技术redis学习系列(二)——详细讲解redis数据结构(内存模型)以及常用命令

Redis数据类型 与Memcached仅支持简单的key-value结构的数据记录不同,Redis支持的数据类型要丰富得多,常用的数据类型主要有五种:String.List.Hash.Set和Sorted Set. Redis数据类型内存结构分析 Redis内部使用一个redisObject对象来表示所有的key和value.redisObject主要的信息包括数据类型(type).编码方式(encoding).数据指针(ptr).虚拟内存(vm)等.type代表一个value对象具体是何种数

Redis笔记——技术点汇总

目录 · 特点 · 安装 · 数据库 · 服务器命令 · 数据类型及其操作命令 · 数据结构 · string · list · set · hash · zset · 发布与订阅 · 排序 · 事务 · pipeline · 基准测试 · 键的过期 · 持久化 · 概况 · snapshoting · AOF · 主从复制 · HA · Lua · 示例:分布式日志 特点 1. Redis是一个开源的.C语言编写的.面向键值对类型数据的分布式NoSQL数据库系统. 2. 特点:高性能(内存数据

redis 的安装使用 数据类型 以及操作指令 一

安装 redis 到 /usr/目录下 我这里安装的是redis-3.2.9.tar.gz tar zxvf  redis-3.2.9.tar.gz  -C  /usr 然后进行 执行编译命令 make   执行安装  make install 进入redis目录   ll查看所有文件 将 redis.conf文件 移动到usr/local/redis/etc目录下 再进入redis/src 目录 将以下文件移动到 usr/local/redis/bin目录下  方便以后管理 此时进入 usr/

redis笔记(一)-string数据类型

一.概述: 字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等.在Redis中字符串类型的Value最多可以容纳的数据长度是512M. 二.相关命令列表: 命令原型                                            时间复杂度             返回值 命令描述 APPEND key value O(1) 追加后Value的长度 如果该Key已

Redis教程(二):String数据类型

转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/131.html?1455808279 一.概述: 字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等.在Redis中字符串类型的Value最多可以容纳的数据长度是512M. 二.相关命令列表: 命令原型 时间复杂度 命令描述 返回值 APPENDkeyvalue

07_NoSQL数据库之Redis数据库:Redis的高级应用之事务处理、持久化操作、pub_sub、虚拟内存

 事务处理 Redis对事务的支持目前还比较简单.Redis只能保证一个client发起的事务中的命令可以连续的执行,而中间不会插入其他client的命令.当一个client在一个连接中发出multi命令时,这个连接会进入一个事务上下文,该连接后续的命令不会立即执行,而是先放到一个队列中,当执行exec命令时,redis会顺序的执行队列中的所有命令. 127.0.0.1:6379> get age (nil) 127.0.0.1:6379> multi OK                

Redis 常用数据结构及其控制命令整合

Redis 键值支持5种基本结构,分别是字符串,列表,哈希,集合,有序集合.每一种数据结构都有对应的取值和设值命令,辅助命令,除此之外,还有一些全局命令,用来管理Redis存储的所有 键. 全局命令 查看所有键 keys * 127.0.0.1:6379> keys *1) "name"2) "fuck"3) "mlist"4) "dict:test"5) "fuck1"6) "hello&

redis学习(二)——String数据类型

一.概述 字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等.在Redis中字符串类型的Value最多可以容纳的数据长度是512M. 二.相关命令 1.赋值命令 命令原型:SET key value 时间复杂度:O(1) 命令描述:设定该Key持有指定的字符串Value,如果该Key已经存在,则覆盖其原有值. 返回值:总是返回"OK". 2.取值命令 命令原型:GET key