- 1.引入依赖
- 2.添加配置
- 3.注入redisTemplate对象(任何地方)
- 4.api的使用
- 5.问题解答
新手使用 spring boot 整合redis基本就是照着网上帖子一顿复制粘贴,那些误人子弟的东西不抄也罢
今天简单整理一下基于 spring boot 2对于redis的整合演示,如果你想更好的使用redis 这或许会有用
2.添加配置org.springframework.boot spring-boot-starter-data-redis
#需要什么就添加什么配置,spring boot 核心就是即拿即用,约定大于配置
spring:
redis:
database: 0
port: 6379
password: 123123
host: 120.23.156.165
3.注入redisTemplate对象(任何地方)
@Resource private RedisTemplate4.api的使用redisTemplate; //高级存取对象 @Resource private StringRedisTemplate stringRedisTemplate; //字符串存取对象
//设置键值 String key = "hello"; String value = "Redis"; stringRedisTemplate.opsForValue().set(key,value); //根据键拿出值 stringRedisTemplate.opsForValue().get(key); ...5.问题解答
如果你出现了问题 我敢断定你没按照上面的方法操作
下面是一些小问题解答 希望能够帮到你
- redisTemplate注入报空指针异常?
1.尝试使用@Resource注入而不是@Autowired
因为@Autowired的类型注入可能找不到我们规定泛型的类型,这种注入方式也不规范,开发中不建议使用
2.使用Test运行时读取配置文件可能会有问题 请使用@TestPropertySource解决
- 网上教程都封装了工具类,我需要吗?
1.如果项目比较大,涉及重大资金流 而恰好redis又参与了重要工作则需要
2.说人话就是 -不需要- 大神已经封装好的工具没必要动 只有项目中的带聪明会封装出自以为很牛的方法
- redisTemplate成功注入,为何取不到自己设置的值?
取值和设置值都使用redisTemplate对象就没问题了,取值为空因为工具底层进行了封装,你使用其它方法存进去的key与value不会被转码,但使用redisTemplate默认存取都是按照iso8859-1对键值对进行序列化,所以取不出正常值。存取工具对等就不会出问题(很多朋友设置配置文件解决此问题,没必要,会用工具很重要)细心的朋友会发现spring容器中不仅生成了RedisTemplate对象,而且还有个StringRedisTemplate对象
实际上第一个是高级存取对象。如果你想存取/序列化一个复杂对象则应该用这个
第二个是简单键值对存取对象。如果是单纯的字符串存取应使用第二个对象
- 别人配置了那么多东西为何咱么的这么少?
对此我想说:大量配置只应该出现在spring中,springboot核心思想即约定大于配置,支持spring
boot的依赖基本都有自己一套默认配置,如果有额外配置需求才应该改动它,否则请保持原样 你是来写代码的,不是写配置文件的!
如有其他疑问请留言



