栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java-springboot-redis-使用教程

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java-springboot-redis-使用教程

1、redisTemplate/jedis/redisson/区别

boot用redisTemplate,方便操作,分布式锁一般都是用redisson,解决了加锁和时间的原子性、删锁的误操作、自动续锁等。

2、如何和springboot整合

引入spring-boot-starter-data-redis 

3、如何配置连接池?

首先考虑有没有必要。单机redis可支撑8万qps。就是说从redis客户端连接,发送命令,返回数据。时间如果是1毫秒也算是比较耗时了。1毫秒的qps也能达到1000。

连接太多需要维护,并不是越多越好。和服务器的核心也有关系。

springboot2.0之后默认使用的是lettuce的连接池。使用了共享本地连接参数控制是否开启shareNativeConnection。如果要开启连接池,需要配置该参数。否则会不生效,一直用的是一个连接。

另外需要引入架包。


    org.apache.commons
    commons-pool2

4、项目使用场景

说几个不常用的:spring中利用几个注解 @Cacheable @cachePut @CacheEvict在controller和service层中间加一层缓存层,然后利用cacheManager的配置,对所有的需要缓存的数据做统一管理。

cacheManage可以利用redis实现。

5、redisTemplate源码简析


模板模式实现:每个redis操作都需要进行连接、执行语句、销毁。这种重复的操作,springboot采用模板方法实现。具体的实现思路是:redisTemplate定义了excute方法,方法里面定义了这一套连接、执行语句、销毁标准流程。

那么如何实现对不同的数据类型操作?

采用回调的方式。

需要传参进excute方法,其中一个参数就是回调方法,方法里面定义了具体的操作redis的方法。

另外redisTemplate方式对redis每一种数据结构都定义了对应的xxxxxOperation类。

将redisTemplate作为参数传入xxxxOperation。参看下面 ↓↓↓

实际运用的时候,代码里一般是使用redisTemplate.opsForValue/opsForHash。。。获取到具体的数据结构(hash ,set,string,list),然后执行对应的操作方法(其实是调用redisTemplate的excute方法,只需要传入对应的回调即可)。

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1003125.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号