解决RedisTemplate调用increment报错问题
INCRBY key increment介绍如下:将 key 所储存的值加上增量 increment 。如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCRBY 命令。本操作的值限制在 64 位有符号数字表示之内。报错的初始使用方法为通过上面分析可以发现,错误原因是key对应的值不为数字,不能进行递增操作。通过查看RedisTemplate源码发现,其默认的序列化器为JdkSerializationRedisSerializer,猜想是否是序列化器进行序列化的时候,将key对应的value序列化为了字符串。用子项目编码+公司代码+年份做Redis键,值为流水号。流水号:由于直接用java代码生成在集群环境会有问题,故采用redisTemplate的increment方法生成,初次调用该方法会返回1。
用户评论