StringRedisTemplate与redistemplate

RedisTemplate和StringRedisTemplate的区别
两者的关系是StringRedisTemplate继承RedisTemplate。
两者的数据是不共通的;也就是说StringRedisTemplate只能管理StringRedisTemplate里面的数据,RedisTemplate只能管理RedisTemplate中的数据。
SDR(Spring Data Redis)默认采用的序列化策略有两种,一种是String的序列化策略,一种是JDK的序列化策略。
StringRedisTemplate默认采用的是String的序列化策略,保存的key和value都是采用此策略序列化保存的。
RedisTemplate默认采用的是JDK的序列化策略,保存的key和value都是采用此策略序列化保存的。
RedisTemplate和StringRedisTemplate的使用
当你的redis数据库里面本来存的是字符串数据或者你要存取的数据就是字符串类型数据的时候,那么使用StringRedisTemplate是最好的选择。
但是如果你的数据是复杂的对象类型,而取出的时候又不想做任何的数据转换,希望直接从Redis里面取出一个对象,那么使用RedisTemplate则是最佳的选择。

StringRedisTemplate:
@Autowired
private StringRedisTemplate stringRedisTemplate;//引用StringRedisTemplate
获取 String jsonMap = stringRedisTemplate.opsForValue().get("echarts:" + "member"+partyOrganId);
写入 stringRedisTemplate.opsForValue().set("echarts:" + "member"+partyOrganId, JSON.toJSONString(memberVO), 6, TimeUnit.HOURS);//指定过期时间
stringRedisTemplate.opsForValue().set("echarts:" + "member"+partyOrganId, JSON.toJSONString(memberVO));//默认过期时间
RedisTemplate
@Autowired
private RedisTemplate redisTemplate;//引用RedisTemplate
获取 User Map =(User)redisTemplate.opsForValue().get("echarts:" + "member"+partyOrganId);
写入redisTemplate.opsForValue().set("echarts:" + "member"+partyOrganId, memberVO, 6, TimeUnit.HOURS);//指定过期时间
redisTemplate.opsForValue().set("echarts:" + "member"+partyOrganId, memberVO);//默认过期时间

posted @ 2019-10-10 10:17  艺洁  阅读(481)  评论(0编辑  收藏  举报