使用底层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的操作

最新文章

  1. Cocoa深入学习:NSOperationQueue、NSRunLoop和线程安全 (转)
  2. alternatives命令用法
  3. ios 汉字字符串数组拼音排序
  4. poj 2082 单调栈 ***
  5. SPL 全面剖析
  6. Http网络通信--网络图片查看
  7. POJ 2236 Wireless Network (并查集)
  8. node初步一:HTTP请求
  9. cf A. Jeff and Digits
  10. 认识元数据和IL(下)&lt;第五篇&gt;
  11. HDU 5868 Different Circle Permutation(burnside 引理)
  12. 纯真IP数据库格式详解
  13. python+selenium自动化软件测试(第11章):持续集成jenkins和GitHub的使用
  14. Java中怎么简单的使用正则表达式?
  15. tcc-transaction 分析
  16. windows7 64下redis安装
  17. OSGI嵌入tomcat应用服务器(gem-web)——资源下载
  18. 极光推送API
  19. Python学习笔记(三)——条件语句、循环语句
  20. Java内存模型-final域的内存语义

热门文章

  1. apache-ab并发负载压力测试 不错
  2. Windows下手动安装redis服务
  3. Java并发思考
  4. Linux IO多路复用之epoll网络编程(含源码)
  5. 关于CentOS 7安装solr+tomcat
  6. 我的JSP中文编码解决方案
  7. 在selenium中一些相对常用的JavaScript事件
  8. bootstrap table 分页后,重新搜索的问题
  9. 在IDEA里gradle配置和使用
  10. JavaScript编程艺术-第6章(JavaScript美术馆改进版)代码