SpringBoot下对于Redis的操作——RedisTemplate
标题是取了个 RedisTemplate 的名字,但是实际上不讲 RedisTemplate 。我也没咋用过。
主要是讲 StringRedisTemplate ,StringRedisTemplate 和 RedisTemplate 很相像,看资料是说保存进 Redis 的方式不同。
RedisTemplate 是使用 java 自己的序列化和反序列化进行保存,从 Redis 里看去是一堆乱码。
StringRedisTemplate 则是直接使用字符串的形式进行保存,看起来则直观一些。我个人而言,还是比较倾向于用这种的。如果需要存储复杂数据 比如对象。则可以先将其转换为 JSON 格式在进行保存。写程序总免不了调试、测试。总得去 Redis 里面去看,总要用 DEBUG 打断点。字符串/JSON 的形式储存数据更能让人看懂。
当然,不管 RedisTemplate 也好,还是 StringRedisTemplate 也好,都是 SpringBoot 给你封装好了的。在使用时直接使用 @AutoWrite 注入进需要使用的类就行。
最重要的: 配置
这个肯定是缺不了得
依赖总得导入吧?就是这个:
org.springframework.boot spring-boot-starter-data-redis
yml 配置得有吧?(也有可能是properties)
reids: host: 127.0.0.1 password: xxx port: 6379
万事俱备,直接开用。由于 SpringBoot 的强大,在配置完之后就是无脑梭了
在要用的类上,直接注入。就可以使用了。
它自带了 5 种操作不同数据结构的实现。根据需要获取就行了
redisTemplate.opsForValue();//操作字符串 redisTemplate.opsForHash();//操作hash redisTemplate.opsForList();//操作list redisTemplate.opsForSet();//操作set redisTemplate.opsForZSet();//操作有序set
获取到相应的实现后,则可以调用该数据结构支持的方法,SpringBoot 很贴心的让方法名大致和 Redis 中定义的命令差不多
比如你得到操作字符串的实现,直接通过 get()/set() 方法就能完成赋值取值操作。
获取到 操作List 的实现,里面自然也会有对应 Reids 命令 中 lpush、rpush的 leftPush()、rightPush()。
至于有哪一些命令,则可以看我之前写过的 Redis 文章: Redis五大数据类型
1 COMMENT