Spring Data Redis入门示例:基于RedisTemplate

Posted 王小帅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Data Redis入门示例:基于RedisTemplate 相关的知识,希望对你有一定的参考价值。

使用底层API:RedisConnection操作Redis,需要对数据进行手动转换(String <---->byte),需要进行多数重复性工作,效率低下;org.springframework.data.redis.core.RedisTemplate 类提供了与Redis交互的高级抽象,该类负责序列化和连接管理,对大多数重复性工作进行了封装。并且 RedisTemplate是一个线程安全的类。

此外,模板还提供了用于处理特定类型或特定键的操作视图。包含的接口见下表:

技术分享图片

例子:上一节第三步的配置文件添加下面内容:

 <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
     <property name="connectionFactory" ref="jedisConnectionFactory"/>
</bean>

测试RedisTemplate:

// RedisTemplate 操作
RedisTemplate redisTemplate = context.getBean(RedisTemplate.class);
    
// 获取String类型的操作类
ValueOperations<String, String> valueOperations = redisTemplate.opsForValue();
valueOperations.set("haha", "你好");
System.out.println(valueOperations.get("haha"));

优化:
上面的例子,当需要操作某种类型时,就从RedisTemplate 模板类中获取对应操作类的引用,这一步是重复的,可以通过Spring DI 进行注入,可以省下一行代码,代码如下

@Autowired
private RedisTemplate template;

@Resource(name = "redisTemplate")
private ValueOperations valueOps;

示例说明

1. RedisTemplate是一个泛型类,可以指定key和value的类型
2. 想操作Redis的哪种类型数据,从RedisTemplate 获取对应操作的引用,如上面的valueOperations 
3. 使用RedisTemplate,没有了底层API将数据转byte的操作

以上是关于Spring Data Redis入门示例:基于RedisTemplate 的主要内容,如果未能解决你的问题,请参考以下文章

Spring Data Redis入门示例:程序配置

Spring Data Redis入门示例:字符串操作

Spring Data Redis —— 快速入门

Spring之Redis访问(Spring-data-redis)

Spring集成Redis方案(spring-data-redis)(基于Jedis的单机模式)(待实践)

分布式缓存技术redis学习系列----深入理解Spring Redis的使用