连接工厂: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. 1_Command 游戏开发命令模式

    A dead simple implementation looks like: ``` // simple void InputHandler::handleInput() { if (isPres ...

  2. C语言小程序(四)、杨辉三角

    输入要显示的杨辉三角的行数,会打印出金字塔型的杨辉三角,不过行数太多的话,效果不太好,可以再调整一下格式控制. #include <stdio.h> #include <stdlib ...

  3. UVA12163 游戏

    题目大意 现在有两个人在一个n个结点的有向图上玩一个双人游戏,保证图中无环和自圈.游戏的规则如下:1.初始的时候$i$号点有一个正权值$value_i$2.两名玩家依次操作,每个玩家在当前回合可以选择 ...

  4. HihoCoder1338 A Game(记忆化搜索)

    时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Little Hi and Little Ho are playing a game. There is an integ ...

  5. Maven(2)-坐标和依赖

    本文简要介绍Maven里面的坐标(coodinate)以及maven依赖管理(Dependency) 一.坐标 先来个截图: 在上图peoject栏目有groupId,artifactId,versi ...

  6. python setuptools安装

    执行# python setup.py install 时发生如下错误 Traceback (most recent call last): File "setup.py", li ...

  7. 【转】 Pro Android学习笔记(六七):HTTP服务(1):HTTP GET

    目录(?)[-] HTTP GET小例子 简单小例子 出现异常NetworkOnMainThreadException 通过StrictMode进行处理 URL带键值对 Andriod应用可利用ser ...

  8. js检测对象属性

    In:(检测自身及原型属性) var o={x:1}; "x" in o; //true,自有属性存在 "y" in o; //false "toSt ...

  9. 问题:ExecuteNonQuery 与 ExecuteScalar 结果: ExecuteNonQuery方法和ExecuteScalar方法的区别

    ExecuteNonQuery方法和ExecuteScalar方法的区别 ----ExecuteNonQuery():执行命令对象的SQL语句,返回一个int类型变量,如果SQL语句是对数据库的记录进 ...

  10. mongodb-help功能

    mongo-help功能 version:2.6.12下面是示例: > help db.help()                  help on db methods       db.m ...