springboot整合redis
对于java,常用的客户端有:
Jedis,springDataRedis,Redission
Jedis:操作简单,适合入门
SpringDataRedis: spring必备,可以通过yml进行相应配置
Redission: Redis的分布式
本篇重点还是讲讲SpringDataRedis
首先,导入spring-data-redis依赖:
-
<!-- spring-data-redis-->
-
<dependency>
-
<groupId>org.springframework.boot</groupId>
-
<artifactId>spring-boot-starter-data-redis</artifactId>
-
</dependency>
为了提升redis的性能,我们最好添加一下pool:
-
<dependency>
-
<groupId>org.apache.commons</groupId>
-
<artifactId>commons-pool2</artifactId>
-
</dependency>
依赖引入完毕,开始配置yml
-
spring:
-
# redis配置
-
redis:
-
#Redis服务器地址
-
host:
-
#Redis服务器连接端口
-
port: 6379
-
#Redis数据库索引(默认为0)
-
database: 0
-
#连接超时时间(毫秒)
-
timeout: 1800000
-
lettuce:
-
pool:
-
max-active: 8 # 最大连接数
-
max-idle: 8 #最大空闲连接
-
min-idle: 0 #最小空闲连接
-
max-wait: 100 #连接等待时间
整合完毕,就可以基本的使用它了,来个简单小test
spring-data-redis提供一个RedisTemple对象来提供具体方法来进行具体的redis操作
对Sting的操作和对hash的操作:
自定义RedisTemple的序列化规则
spring-data-redis它是可以对redistemple进行自定义的,这样我们就可以对Redistemple进行自定义的序列化规则
-
@Bean
-
public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory connectionFactory)
-
{
-
RedisTemplate<Object, Object> template = new RedisTemplate<>();
-
template.setConnectionFactory(connectionFactory);
-
-
FastJsonRedisSerializer serializer = new FastJsonRedisSerializer(Object.class);
-
-
// 使用StringRedisSerializer来序列化和反序列化redis的key值
-
template.setKeySerializer(new StringRedisSerializer());
-
// 值用Json来进行序列化value值
-
template.setValueSerializer(serializer);
-
-
// Hash的key也采用StringRedisSerializer的序列化方式
-
template.setHashKeySerializer(new StringRedisSerializer());
-
template.setHashValueSerializer(serializer);
-
-
template.afterPropertiesSet();
-
return template;
-
}
我们可以将对象Json序列化,进行存储,但是,这样有什么缺点呢?我们来看:
在redis中,我们看到保存的Json序列化的对象多了一行
@class:com.example.pojo.People
这是因为为了在反序列化时,能知道最后反序列化出来的是哪个对象。
这样的缺点是:当数据量增大时,内存的花销很大!这显然是不经济的。
所以我们在自定义序列化规则的时候,应该将对象转成String,再保存
之后再调用Json转对象工具,转回来。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhibhgai
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22 -
excel打印预览压线压字怎么办
PHP中文网 06-22