2.在spring boot中配置Redis

在java的 spring boot项目中使用Redis做缓存。

操作是

1.首先在POM文件中加入redis依赖,

2.在application.yml中添加redis的路径、端口和密码

spring:

redis:

host: xxx.xxx.xxx.xxx

port: xxxxx

password: xxxx

3.在config包下面添加一个配置类

配置RedisTemplate

1@Configuration 2public class RedisConfig { 3 @Bean 4 public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) 5 { 6// StringRedisSerializer stringRedisSerializer = new StringRedisSerializer(); 7// RedisObjectSerializer redisObjectSerializer = new RedisObjectSerializer(); 8// RedisTemplate<String, Object> template = new RedisTemplate<String, Object>(); 9// template.setConnectionFactory(redisConnectionFactory); 10// template.setKeySerializer(stringRedisSerializer); 11// template.setValueSerializer(redisObjectSerializer); 12// return template; 13 RedisTemplate<String, Object> template = new RedisTemplate<>(); 14 //使用fastjson序列化---此处使用的StringRedis序列化方式 15 StringRedisSerializer stringRedisSerializer = new StringRedisSerializer(); 16 // value值的序列化采用 StringRedisSerializer 17 template.setValueSerializer(stringRedisSerializer); 18 template.setHashValueSerializer(stringRedisSerializer); 19 // key的序列化采用StringRedisSerializer 20 template.setKeySerializer(new StringRedisSerializer()); 21 template.setHashKeySerializer(new StringRedisSerializer()); 22 template.setConnectionFactory(redisConnectionFactory); 23 return template; 24 } 25}

Redis知识补充:

Redis 可以存储键与5种不同数据结构类型之间的映射,这5种数据结构类型分别为String(字符串)、List(列表)、Set(集合)、Hash(散列)和 Zset(有序集合)。

针对数据的“序列化/反序列化”,提供了多种可选择策略(RedisSerializer)

1.JdkSerializationRedisSerializer:POJO对象的存取场景,使用JDK本身序列化机制,将pojo类通过ObjectInputStream/ObjectOutputStream进行序列化操作,最终redis-server中将存储字节序列。是目前最常用的序列化策略。

2.StringRedisSerializer:Key或者value为字符串的场景,根据指定的charset对数据的字节序列编码成string,是“newString(bytes,charset)”和“string.getBytes(charset)”的直接封装。是最轻量级和高效的策略。

3.JacksonJsonRedisSerializer:jackson-json工具提供了javabean与json之间的转换能力,可以将pojo实例序列化成json格式存储在redis中,也可以将json格式的数据转换成pojo实例。因为jackson工具在序列化和反序列化时,需要明确指定Class类型,因此此策略封装起来稍微复杂。

4.OxmSerializer:提供了将javabean与xml之间的转换能力,目前可用的三方支持包括jaxb,apache-xmlbeans;redis存储的数据将是xml工具。不过使用此策略,编程将会有些难度,而且效率最低;不建议使用。【需要spring-oxm模块的支持】

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

2.在spring boot中配置Redis - HelloWorld