spring使用redisTemplate
连接工厂: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的更多相关文章
- spring中redistemplate不能用通配符keys查出相应Key的问题
有个业务中需要删除某个前缀的所有Redis缓存,于是用RedisTemplate的keys方法先查出所有合适的key,再遍历删除.但是在keys(patten+"*")时每次取出的 ...
- 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- ...
- Spring 集成 redistemplate
jar包 <version.clients.jedis>2.7.2</version.clients.jedis><version.data.redis>1.6.2 ...
- Spring 使用RedisTemplate操作Redis
首先添加依赖: <!-- https://mvnrepository.com/artifact/redis.clients/jedis --> <dependency> < ...
- 基于spring的redisTemplate的缓存工具类
pom.xml文件添加 <!-- config redis data and client jar --><dependency> <groupId>org.spr ...
- spring boot定制Jackson ObjectMapper,为什么不生效
先说结论: 项目中定制了spring 的redisTemplate,而这个template没有使用我自定义的Jackson ObjectMapper.所以不生效. 下面是详细过程: 起因是spring ...
- Spring Data Redis 让 NoSQL 快如闪电(2)
[编者按]本文作者为 Xinyu Liu,文章的第一部分重点概述了 Redis 方方面面的特性.在第二部分,将介绍详细的用例.文章系国内 ITOM 管理平台 OneAPM 编译呈现. 把 Redis ...
- 使用方法拦截机制在不修改原逻辑基础上为 spring MVC 工程添加 Redis 缓存
首先,相关文件:链接: https://pan.baidu.com/s/1H-D2M4RfXWnKzNLmsbqiQQ 密码: 5dzk 文件说明: redis-2.4.5-win32-win64.z ...
- redisTemplate写哈希表遇到的坑
本文系原创,如有转载,请注明出处 在使用spring的redisTemplate进行redis哈希表的相关操作时,遇到了下面比较奇怪的情况: 1.删掉哈希表所属的key之后,重新get这个key的值, ...
随机推荐
- php-fpm进程内存泄漏
线上服务器内存报警 线上web8G内存的服务器,内存几乎吃光,top查看,发现php-fpm进程每个都是几十M,php-fpm配置static, 一共150个 解决 排除过程中,其他机器相同配置都没有 ...
- python的random模块及加权随机算法的python实现
random是用于生成随机数的,我们可以利用它随机生成数字或者选择字符串. random.seed(x)改变随机数生成器的种子seed. 一般不必特别去设定seed,Python会自动选择seed. ...
- tensorflow训练验证码识别模型
tensorflow训练验证码识别模型的样本可以使用captcha生成,captcha在linux中的安装也很简单: pip install captcha 生成验证码: # -*- coding: ...
- Homer Conferencing
Homer Conferencing (short: Homer) is a free SIP softphone with advanced audio and video support. The ...
- Java中的String数据类型
本文主要是说明一些String数据类型的基本知识,有些杂乱,不过都是比较重要的东西,主要是参考了网上人的资料.原文网址:http://dev.yesky.com/91/2309091.shtml 主要 ...
- UITextField常见用法
//实例变量和全局变量的区别 //1.定义位置有区别:全局变量定义在方法的外部,实例变量写在接口文件或者延展中的大括号之内 //2.生命周期:全局变量生命周期和应用程序生命周期相同,实例变量的生命周期 ...
- LCS(最长公共子序列问题)
LCS(Longest Common Subsequence),即最长公共子序列.一个序列,如果是两个或多个已知序列的子序列,且是所有子序列中最长的,则为最长公共子序列. 原理: 事实上,最长公 ...
- ZOJ1610(经典线段树涂色问题)
Description Painting some colored segments on a line, some previously painted segments may be covere ...
- HDOJ1151有向图最小路径覆盖
//有向图最小路径覆盖:从某一点出发沿着有向路径,不走回路,能将所有的结点遍历. #include<iostream> #include<cstdio> #include< ...
- 转载:IntelliJ IDEA 2016.2 配置Tomcat 运行Web项目
以前都用MyEclipse写程序的 突然用了IDEA各种不习惯的说 借鉴了很多网上好的配置办法,感谢各位大神~ 前期准备 IDEA.JDK.Tomcat请先在自己电脑上装好 好么~ 博客图片为主 请多 ...