连接工厂:spring data redis 2.0中提供了两种redis客户端实现

  • LettuceConnectionFactory
  • JedisConnectionFactory

区别:

  Lettuce基于netty,是线程安全的,且性能较好。

  Jedis在实现上是直接连接的redis serve,多线程环境下是非线程安全的。

配置:

  默认为luttuce,如果想使用Jedis 除了在config中配置外,还需在POM中移除对Lettuce的依赖,并引入Jedis所需的包

      

      

          其他的配置项如host、port等建议配置在yml或者properties文件中。  

      

使用redis访问模板

  Spring data redis 提供了两个访问redis的模板

  • RedisTemplate
  • StringRedisTemplate

  其中StringRedisTemplate为redisTemplate的扩展,只关心String类型的Key、value,适合于key于value均为String类型的键值对,而RedisTemplate可以持久化各种类型.

配置Template

  String boot默认已配置了上述两种模板,源码如下,使用时直接注入即可.

   

  

  当然若不满足于默认的配置,比如想设置不同的序列化方式,key、value的序列化方式等。可以在config文件中覆盖掉即可:

  如下,配置了key与value的序列化方式。

    

  

  String data提供了多个序列化器,包括:

  • GenericToStringSerializer:使用Spring转换服务进行序列化
  • JdkSerializationRedisSerializer:使用JDK序列化
  • Jackson2JsonRedisSerializer:使用jackson2将对象序列化
  • OxmSerializer:用于XML序列化
  • StringRedisSerializer:序列化String类型的key与value

  API与DEMO:

    

Demo:

操作简单值(value):

    

操作List:

    

操作哈希(hash):

    

  

  操作zset与set:

    略(基本都是redis各个命令的实现)

spring使用redisTemplate的更多相关文章

  1. spring中redistemplate不能用通配符keys查出相应Key的问题

    有个业务中需要删除某个前缀的所有Redis缓存,于是用RedisTemplate的keys方法先查出所有合适的key,再遍历删除.但是在keys(patten+"*")时每次取出的 ...

  2. spring 整合 redis,以及spring的RedisTemplate如何使用

    需要的jar包 spring-data-redis-1.6.2.RELEASE.jar jedis-2.7.2.jar(依赖 commons-pool2-2.3.jar) commons-pool2- ...

  3. Spring 集成 redistemplate

    jar包 <version.clients.jedis>2.7.2</version.clients.jedis><version.data.redis>1.6.2 ...

  4. Spring 使用RedisTemplate操作Redis

    首先添加依赖: <!-- https://mvnrepository.com/artifact/redis.clients/jedis --> <dependency> < ...

  5. 基于spring的redisTemplate的缓存工具类

    pom.xml文件添加 <!-- config redis data and client jar --><dependency> <groupId>org.spr ...

  6. spring boot定制Jackson ObjectMapper,为什么不生效

    先说结论: 项目中定制了spring 的redisTemplate,而这个template没有使用我自定义的Jackson ObjectMapper.所以不生效. 下面是详细过程: 起因是spring ...

  7. Spring Data Redis 让 NoSQL 快如闪电(2)

    [编者按]本文作者为 Xinyu Liu,文章的第一部分重点概述了 Redis 方方面面的特性.在第二部分,将介绍详细的用例.文章系国内 ITOM 管理平台 OneAPM 编译呈现. 把 Redis ...

  8. 使用方法拦截机制在不修改原逻辑基础上为 spring MVC 工程添加 Redis 缓存

    首先,相关文件:链接: https://pan.baidu.com/s/1H-D2M4RfXWnKzNLmsbqiQQ 密码: 5dzk 文件说明: redis-2.4.5-win32-win64.z ...

  9. redisTemplate写哈希表遇到的坑

    本文系原创,如有转载,请注明出处 在使用spring的redisTemplate进行redis哈希表的相关操作时,遇到了下面比较奇怪的情况: 1.删掉哈希表所属的key之后,重新get这个key的值, ...

随机推荐

  1. 关于COM组件调用

    转载自:http://www.cppblog.com/ice197983/articles/4178.html 一.调用步骤: 使用ATL编写的COM组件调用方法有两种:1.导入myCom.dll文件 ...

  2. hdu-5642 King's Order(数位dp)

    题目链接: King's Order Time Limit: 2000/1000 MS (Java/Others)     Memory Limit: 65536/65536 K (Java/Othe ...

  3. [原]NYOJ-小光棍数-458

    大学生程序代写 /http://acm.nyist.net/JudgeOnline/problem.php?pid=458 *题目458题目信息运行结果本题排行讨论区小光棍数 时间限制:1000 ms ...

  4. luogu1754卡特兰数

    卡特兰数 打表 滑稽 #include<iostream> #include<cstdio> #include<algorithm> #include<cst ...

  5. 【算法总结】Manacher's Algorithm

    Manacher's Algorithm针对的是最长回文子串问题.对于此问题,最直接的方法是遍历每一个元素,遍历过程中以每一个字符为中心向两边扩展以寻找此字符为中心的最长回文子串.复杂度O(n2).M ...

  6. [转]unity3d中创建双面材质

    在其它三维软件中设置好的双面材质导入到unity3d中就失去了效果,不过我们可以通过自定义材质来在unity3d中实现双面材质的效果.步骤如下:1.在资源库中新建一新shader:代码如下: Shad ...

  7. 人物-IT-柳传志:柳传志

    ylbtech-人物-IT-柳传志:柳传志 柳传志,英文名:Chuanzhi Liu,男,汉族,中共党员,1944年4月出生于江苏镇江,联想控股股份有限公司董事长,联想集团创始人. 企业家.投资家.全 ...

  8. 杂项:TModJS

    ylbtech-杂项:TModJS TmodJS(原名 atc)是一个简单易用的前端模板预编译工具.它通过预编译技术让前端模板突破浏览器限制,实现后端模板一样的同步“文件”加载能力.它采用目录来组织维 ...

  9. DCloud-MUI:Hello MUI2

    ylbtech-DCloud: 1. <head> <meta charset="utf-8"> <title>Hello MUI</ti ...

  10. Velocity下面的Velocimacros设置

    Velocimacros #macro script element允许模板设计者定义一段可重用的VTL template.Velocimacros广泛用于简单和复杂的行列.Velocimacros的 ...