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数据删除:

页面也可以正常访问:

相关推荐
White graces3 小时前
正则表达式效验邮箱格式, 手机号格式, 密码长度
前端·spring boot·spring·正则表达式·java-ee·maven·intellij-idea
是姜姜啊!4 小时前
redis的应用,缓存,分布式锁
java·redis·spring
m0_675447084 小时前
Java版企电子招标采购系统源业码Spring Cloud + Spring Boot +二次开发+ MybatisPlus + Redis
java·spring cloud·企业电子招投标系统源码·招投标系统源码
奋斗的袍子0075 小时前
Spring AI + Ollama 实现调用DeepSeek-R1模型API
人工智能·spring boot·深度学习·spring·springai·deepseek
LUCIAZZZ5 小时前
EasyExcel快速入门
java·数据库·后端·mysql·spring·spring cloud·easyexcel
wolf犭良5 小时前
19、《Springboot+MongoDB整合:玩转文档型数据库》
数据库·spring boot·mongodb
Ase5gqe6 小时前
Spring中的IOC详解
java·后端·spring
小万编程6 小时前
基于SpringBoot+Vue奖学金评比系统(高质量源码,可定制,提供文档,免费部署到本地)
java·spring boot·后端·毕业设计·计算机毕业设计·项目源码
楠枬6 小时前
网页五子棋——匹配模块
java·spring boot·websocket
黄名富7 小时前
Spring Cloud — 深入了解Eureka、Ribbon及Feign
分布式·spring·spring cloud·微服务·eureka·ribbon