Redis 整合
还是再提一下常考的RDB和AOF,二者都是为了保证数据的持久化,比较Redis是存在内存当中的,还是不可避免的要保存到硬盘中。
RDB: 以快照的方式,以一定的时间间隔存到硬盘当中,这个间隔会因为存储频率的变化而变化。
AOF: 以日志的方式,记录对数据库执行的所有操作,只要操作成功,就会被追加到文件末尾。
引入依赖
在Spring Boot中集成Redis,需要在pom.xml中添加Redis的依赖:
配置application.yml
然后在application.yml
中配置Redis的连接信息:
注入
然后就可以在Spring Boot的Bean中注入RedisTemplate,进行Redis的操作:
或者注入StringRedisTemplate,进行字符串操作:
这样就可以在Spring Boot中使用Redis了。
基本用法
-
String:
- set
- get
- delete
- expire
- exists
-
Hash
- put
- putAll
一次性把所有field-value对存入hashmap中
- get
- expire
- delete
也可以一次把key对应的所有field-value对删除
-
List
- leftPush
- rightPush
- leftPop
- rightPop
- size
- range
- expire
- delete
-
Set
- add
- size
- members
- expire
- delete
其他的暂且不提,因为用的确实比较少
问题记录
接下来记录一下我遇到的问题
-
在我们使用@Autowired
注解尝试对redisTemplate进行注入时会报Warning。
这个呢,你要么用@Resource
注解,要么用IDEA推荐的方法,将要注入的redisTemplate通过输入的参数来获取
-
StringRedisTemplate
能用,但是RedisTemplate
使用报null的错。
这个是因为两者默认的序列化方式不同,你注意发现的话,前者在redis中显示的方式就是可阅读的字符串,而后者则是0x
开头的字节码形式。所以如果你要用RedisTemplate
,需要我们去配置一下redisTemplate的序列化方式。