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

转载于:https://www.cnblogs.com/Jxwz/p/8372305.html

Spring Data Redis入门示例:基于RedisTemplate (三)相关推荐

  1. spring data redis使用示例

    1. 配置依赖文件 <dependencies><dependency><groupId>org.springframework.data</groupId& ...

  2. Spring Data Redis实战之提供RedisTemplate

    为什么80%的码农都做不了架构师?>>>    参考: http://www.cnblogs.com/edwinchen/p/3816938.html 本项目创建的是Maven项目 ...

  3. Spring data redis应用示例

    为什么80%的码农都做不了架构师?>>>    1.什么是SDR 就跟orm有hibernate和mybatis一样,redis也有众多的Java客户端,例如jedis,jredis ...

  4. Spring Data Redis简单使用

    项目常见问题思考 在项目中发现:对于首页每天有大量的人访问,对数据库造成很大的访问压力,甚至是瘫痪.那如何解决呢?我们通常的做法有两种:一种是数据缓存.一种是网页静态化.我们今天讨论第一种解决方案.将 ...

  5. Spring Boot Mybatis入门示例

    Spring Boot Mybatis 入门示例 基于Spring Boot 2.3.4,Junit5 步骤说明     整个工程的最终目录结构如下,添加文件或者新建的目录的参考: └─src├─ma ...

  6. Spring认证中国教育管理中心-Spring Data Redis框架教程三

    原标题:Spring认证中国教育管理中心-Spring Data Redis框架教程三 10.15.支持类 Packageorg.springframework.data.redis.support提 ...

  7. spring mvc Spring Data Redis RedisTemplate [转]

    http://maven.springframework.org/release/org/springframework/data/spring-data-redis/(spring-data包下载) ...

  8. Spring Boot Redis 入门

    本文,我们基于 Spring Boot 2.X 版本. 1. 概述 在快速入门 Spring Boot 整合 Redis 之前,我们先来做个简单的了解.在 Spring 的生态中,我们使用 Sprin ...

  9. Spring Boot使用Spring Data Redis操作Redis(单机/集群)

    说明:Spring Boot简化了Spring Data Redis的引入,只要引入spring-boot-starter-data-redis之后会自动下载相应的Spring Data Redis和 ...

最新文章

  1. Cocos2d学习之路三(使用Zwoptex创建精灵表单和CCAnimate动画)
  2. 第一章 Web MVC简介 —— 跟开涛学SpringMVC
  3. Java黑皮书课后题第6章:*6.21(电话按键盘)国际标准的字母/数字匹配图如编程练习题4.15所示。编写一个测试程序,提示用户输入字符串形式的电话号码。程序将字母(大写或小写)翻译成数字
  4. 在php中使用kind,KindEditor 4.x在PHP中的应用实例!
  5. debian 删除mysql数据库_Debian中完全卸载MySQL的方法
  6. java高级教程_Java高级教程02
  7. 我要做 Android 之 ContentProvider
  8. linux oracle 运维_oracle数据库常用命令整理
  9. Java设计模式--抽象工厂模式
  10. 6.4Spring环境配置等级和优先级
  11. CAD启动很慢怎么办?
  12. Centos7上搭建迅雷远程下载服务器
  13. android button设置边框背景颜色
  14. 计算机主板高清图解 清华同方,清华同方bios设定图解
  15. java销毁servlet_servlet一般什么时候销毁
  16. 保弘实业|理财要有合理的计划
  17. JS - 自由变量与作用域链
  18. 关于idea创建maven工程没有src骨架的问题
  19. 图片路径转码与解码(学习)
  20. 使用R语言包clusterProfiler做KEGG富集分析时出现的错误及解决方法

热门文章

  1. BZOJ 2301: [HAOI2011]Problem b
  2. 从1~N中任选出三个数,最小公倍数最大
  3. Mysql存储时间字段
  4. Oracle86和92语法的连接,子查询,集合的操作
  5. hibernate关系映射(一对一)
  6. [分际]如何使用EVENTLOG类操作日志
  7. android代码设置全屏
  8. 用Windows Server Backup备份DC服务器
  9. JEPLUS表格组件数据平铺——JEPLUS软件快速开发平台
  10. AES在线加密解密-附AES128,192,256,CBC,CFB,ECB,OFB,PCBC各种加密