深入理解Spring Redis的使用 (五)、常见问题汇总
2023-09-14 09:03:40 时间
目前我所知道的Redistemplate里面,我没有使用到的就是管道。这个可以进行批量的读写。类似于jdbc的batch。还有就是Redis的集群部署。但是由于我业务里没有这种需求,所以没有使用无法给大家进行讲解。
遇到的问题有:
1.序列化器。
由于我是配置了全局唯一一个RedisTemplate,所以所有的dao都共用RedisTemplate,难免会出现有的无法使用公共的序列化器的。
比如一个统计数量的incr函数,这个调用的时候,Redis服务器存储了一个字符串,通过valueoperaion进行get的时候,反序列化异常。这个因为默认的valueserializer是jdk序列化。但是服务器存储了字符串。对于这种情况,我就重写该Dao的get方法,自己使用RedisCallback调用。里面用StringSerializer反序列化,问题解决。
除此之外,还会存在一些别的问题。所以,对于一些基本类型来说,建议大家直接定义一个objectSerializer,里面先进行转String,然后调用String.getbytes解决。反序列化这个问题我也没到怎么处理。但是一般也很少getKey。如果有好的办法请私信我。
2.脚本的事务问题
因为我的所有操作都是通过@transactional,让spring来管理事务的,后来发现执行脚本的时候报错。看异常才知道脚本不支持事务,但是进入方法前,spring已经把当前的connection进行了multi操作。去掉该注解,独立出来这个方法解决。这个是要注意的地方。
相关文章
- Spring配置cache(concurrentHashMap,guava cache、redis实现)附源码
- Redis的分布式锁python-redis-lock使用
- 动态添加Redis密码认证的方法
- SpringBoot之整合Redis分析和实现-基于Spring Boot2.0.2版本
- spring boot单元测试之十:用embedded-redis库做Redis的mock(spring boot 2.4.3)
- 深入理解Spring Redis的使用 (三)、使用RedisTemplate的操作类访问Redis
- 深入理解Spring Redis的使用 (一)、Spring Redis基本使用
- spring boot:redis+lua实现顺序自增的唯一id发号器(spring boot 2.3.1)
- [转]在Ubuntu 下安装Redis 并使用init 脚本启动
- [转]redis.conf的配置解析
- 学习Spring-Session+Redis实现session共享
- 深入理解Spring Redis的使用 (六)、用Spring Aop 实现注解Dao层的自动Spring Redis缓存
- Redis整合Spring结合使用缓存实例
- Redis 缓存 + Spring 的集成示例
- 10_Spring Boot 集成Dubbo + Mybatis + Redis
- 学习Spring Boot:(十七)Spring Boot 中使用 Redis
- websocket 使用 spring 的service层 ,进而调用里面的 dao层 来操作数据库 ,包括redis、mysql等通用
- redis缓存过期策略学习
- redis主从复制操作
- 在Spring中使用Redis
- 【异常】Spring Session存在Redis时报错“ERR config is disabled command“的解决方法