使用
接下来 , 可以直接在 Service 中注入 StringRedisTemplate 或者 RedisTemplate 来使用:
@Service public class HelloService {@AutowiredRedisTemplate redisTemplate;public void hello() {ValueOperations ops = redisTemplate.opsForValue();ops.set("k1", "v1");Object k1 = ops.get("k1");System.out.println(k1);} }Redis 中的数据操作 , 大体上来说 , 可以分为两种:
- 针对 key 的操作 , 相关的方法就在 RedisTemplate 中
- 针对具体数据类型的操作 , 相关的方法需要首先获取对应的数据类型 , 获取相应数据类型的操作方法是 opsForXXX
文章插图
k1 前面的字符是由于使用了 RedisTemplate 导致的 , RedisTemplate 对 key 进行序列化之后的结果 。
RedisTemplate 中 , key 默认的序列化方案是 JdkSerializationRedisSerializer。
而在 StringRedisTemplate 中 , key 默认的序列化方案是 StringRedisSerializer , 因此 , 如果使用 StringRedisTemplate , 默认情况下 key 前面不会有前缀 。
不过开发者也可以自行修改 RedisTemplate 中的序列化方案 , 如下:
@Service public class HelloService {@AutowiredRedisTemplate redisTemplate;public void hello() {redisTemplate.setKeySerializer(new StringRedisSerializer());ValueOperations ops = redisTemplate.opsForValue();ops.set("k1", "v1");Object k1 = ops.get("k1");System.out.println(k1);} }当然也可以直接使用 StringRedisTemplate:
@Service public class HelloService {@AutowiredStringRedisTemplate stringRedisTemplate;public void hello2() {ValueOperations ops = stringRedisTemplate.opsForValue();ops.set("k2", "v2");Object k1 = ops.get("k2");System.out.println(k1);} }另外需要注意 , Spring Boot 的自动化配置 , 只能配置单机的 Redis , 如果是 Redis 集群 , 则所有的东西都需要自己手动配置 , 关于如何操作 Redis 集群 , 松哥以后再来和大家分享 。
方案二:Spring Cache通过 Spring Cache 的形式来操作 Redis , Spring Cache 统一了缓存江湖的门面 , 这种方案 , 松哥之前有过一篇专门的文章介绍 , 小伙伴可以移步这里:Spring Boot中 , Redis缓存还能这么用! 。
方案三:回归原始时代第三种方案 , 就是直接使用 Jedis 或者 其他的客户端工具来操作 Redis , 这种方案在 Spring Boot 中也是支持的 , 虽然操作麻烦 , 但是支持 , 这种操作松哥之前也有介绍的文章 , 因此这里就不再赘述了 , 可以参考 Jedis 使用 。
总结Spring Boot 中 , Redis 的操作 , 这里给大家总结了三种方案 , 实际上前两个使用广泛一些 , 直接使用 Jedis 还是比较少 , 基本上 Spring Boot 中没见过有人直接这么搞 。
好了 , 本文就说到这里 , 有问题欢迎留言讨论 。
小编在学习过程中整理了一些学习资料 , 可以分享给做java的工程师朋友们 , 相互交流学习 , 需要的可以私信(资料)即可免费获取Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码 , MyBatis , Netty,Redis,Kafka,MySQL,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)
其中覆盖了互联网的方方面面 , 期间碰到各种产品各种场景下的各种问题 , 很值得大家借鉴和学习 , 扩展自己的技术广度和知识面 。最后记得帮作者点个关注
推荐阅读
- 梦见到处都是大便脚都下不去 梦见到处都是大便,恶心死了
- 梦见自家的兔子下了好多兔子 梦见兔子下了好多小兔
- 架下茶叶保底 架上葡萄增收
- PHP的TS和NTS有何区别,PHP在各环境下的伪静态是如何配置的
- Java 编程语言中很少被人了解的特性-statement label
- Linux下如何实现MySQL数据库每天定时自动备份
- 电水壶里面的水垢怎么处理 电水壶里的水垢用什么能给它整下来
- 作为程序员,HTTP缓存这一块还是需要了解一下的
- 喝茶太热 开聊点茶叶的冷知识降下温
- SFUN.US 房天下增持中指控股(CIH.US)约73万股A类股