SpringCloud-高级篇(十七)

(1)添加Redis缓存 -缓存预热

前面实现了openResty查询tomcat,但是缓存架构是,先查询Redis,Redis没有在查询tomcat,下面实现Redis的缓存功能了:

--appendonly yes 运行的时候基于日志的方式做数据的持久化

daocker运行Redis:

这个时候就可以使用Redis客户端连接了

初始化类的时候需要实现一个InitialializingBean,需要实现里面的一个方法,afterPropertiesSet方法,会在这个类创建之后,成员变量初始化之后@Autowire注入以后去执行,需要在这个方法的内部初始化缓存的业务逻辑,就能实现项目已启动就能做初始化

创建初始化类:

Spring中有一个json的处理工具,将对象可以转为json,ObjectMapper:

启动一个tomcat:启动的时候就会写入到Redis当中了

(2)查询Redis缓存

redis.lua在resty目录下,引入的时候需要就加resty

在commmen.lua中封装函数:

引入函数

item.lua封装逻辑函数

修改查询函数:

重启nginx

先把tomcat停掉:

如果还能岔村出来它走得就是查询的Redis

(3)nginx本地缓存

在nginx里有一个master进程,多个worker进程,多个worker进程可以处理用户请求,他们可以共享,相等于共享内存了,这只限于nginx内部做共享,如果部署多态openResty,他们之间是无法共享的

nginx配置文件添加配置:

在item.lua中导入这个共享词典:这样就拿到本地缓存对象了

在item.lua封装函数

查询浏览器:

错误日志打印:

在刷新页面:没有打印日志:

查询1003:

在刷新页面:没有打印日志:

如果把Redis的1003数据删除:

页面也可以正常访问:

相关推荐
RuoyiOffice9 分钟前
SpringBoot+Vue3 凭证生命周期设计:审核、过账、冲销与反过账怎样保持账目一致
java·spring boot·事务·springboot3·财务系统·会计凭证·ruoyi office
RuoyiOffice1 小时前
KubeSphere 容器云实践:从管理 K8s 到建设企业 PaaS,还需要哪些能力
spring boot·kubernetes·kubesphere·jenkins·paas·微服务部署·ruoyi office
软件技术NINI8 小时前
基于SpringBoot和Vue的新能源汽车销售推荐系统
java·vue.js·spring boot·后端·汽车·毕业设计·毕设
Flynn Liang8 小时前
LangChain4j 生产级工程骨架:12 个模块 + Docker 一键启动
java·spring boot·langchain·rag·langchain4j
RuoyiOffice9 小时前
固定资产维修管理:从报修、审批到办结,原资产卡怎么回查?
spring boot·固定资产·ruoyi office·资产维修·维修审批·维修办结·资产履历
招风的黑耳9 小时前
SpringBoot+Vue+MySQL 民宿在线预定平台 完整可运行版(源码+文档)
vue.js·spring boot·mysql
Java码农也是农10 小时前
Spring 事务详解:@Transactional 如何生效、何时回滚、传播行为怎么选
java·spring boot·spring·事务
学长毕设11 小时前
基于SpringBoot的游乐园管理系统-附源码
java·spring boot·后端
杨凯凡12 小时前
Spring Boot 文件上传怎么做才安全?流式落盘、路径校验与数据库一致性实战
java·spring boot·文件上传·后端安全·数据库一致性
howard200513 小时前
Spring Boot 版成绩统计分析
spring boot·成绩统计分析