springboot中RedisTemplate和StringRedisTemplate的使用
2022/2/7 19:20:50
本文主要是介绍springboot中RedisTemplate和StringRedisTemplate的使用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
1.RedisTemplate和StringRedisTemplate的区别
2. RedisTemplate和StringRedisTemplate的使用
1.RedisTemplate和StringRedisTemplate的区别
-
两者的关系是
StringRedisTemplate
继承RedisTemplate
。 -
两者的数据是不共通的;也就是说
StringRedisTemplate
只能管理StringRedisTemplate
里面的数据,RedisTemplate
只能管理RedisTemplate
中的数据。 -
SDR(Spring Data Redis)
默认采用的序列化策略有两种,一种是String
的序列化策略,一种是JDK
的序列化策略。 -
StringRedisTemplate
默认采用的是String
的序列化策略,保存的key
和value
都是采用此策略序列化保存的。具体看下图: -
RedisTemplate
默认采用的是JDK
的序列化策略,保存的key
和value
都是采用此策略序列化保存的。具体看下图:
2. RedisTemplate和StringRedisTemplate的使用
-
当你的
redis
数据库里面本来存的是字符串数据或者你要存取的数据就是字符串类型数据的时候,那么使用StringRedisTemplate
是最好的选择。 -
但是如果你的数据是复杂的对象类型,而取出的时候又不想做任何的数据转换,希望直接从
Redis
里面取出一个对象,那么使用RedisTemplate
则是最佳的选择。
User user = new User(); user.setId(15); user.setUsername("呵呵"); user.setPassword("123476"); user.setAddress("北极"); user.setEmail("123@123.com"); user.setCreateTime(new DateTime()); user.setUpdateTime(new DateTime()); redisTemplate.opsForValue().set("user1", user); String jsonStr = JSONUtil.toJsonStr(user); // log.info(jsonStr); // User bean = JSONUtil.toBean(jsonStr, User.class); // log.info(bean); template.opsForValue().set("user2", jsonStr); log.info("redisTemplate:->"+redisTemplate.opsForValue().get("user1")); log.info(template.opsForValue().get("user2")); 1234567891011121314151617
输出结果:
其中JSONUtil使用的是github工具包Hutool,API网址 github官方地址是一个很好用的工具
日志打印使用的是lombok,在类上添加注解@Log4j2即可
推荐一个写的很详细的RedisTemplate API RedisTemplate的用法
这篇关于springboot中RedisTemplate和StringRedisTemplate的使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南