利用spring-data-redis实现incr自增的操作
应该有不少人在使用spring-data-redis时遇到各种各样的问题。由于是隔了一段时间才写的本篇博客,也懒得去重现哪些错误场景了,下面凭着记忆写了几个我遇到的问题:。当然这里比较讨厌,spring没有在创建RedisAtomicLong对象的时候一起设置过期时间。用的是自定义工具类,使用spring封装的spring-data-redis进行操作,在对某key进行increment()方法时,报错:。代码逻辑如下:第一次进来,如果没有redis中没有数据,则设置key,value和time,key是ip, value初始值为1,有效时长为10秒。如果没达到限制次数,则对key自增1。大家都知道redis序列化是将key,value值先转换为流的形式,再存储到redis中。RedisTemplate是使用的JdkSerializationRedisSerializer序列化,序列化后的值包含了对象信息,版本号,类信息等,是一串字符串,所以无法进行数值自增操作。
用户评论