畅购05—— 首页加载方案(nginx+lua+redis)

1.首页为什么用nginx部署?

  1. 首页的并发量高,且有些许的变动
  2. tomcat部署可能不是一个很好地选择
  3. 所以使用nginx+lua+redis进行预热缓存

2.实现步骤(首页广告)

  1. 后台数据通过后台管理系统对mysql中的首页内容(广告等)进行维护。
  2. 定义广告内容,表中设计了 position 位置字段 ,标识广告图片的显示位置。
  3. 将首页页面部署到nginx中。
  4. 通过lua脚本对广告指定位置数据进行一级缓存,lua脚本会根据位置信息到mysql中查询到数据并放入redis。
  5. 在通过lua脚本读取到广告数据,先去nginx本地缓存中查(二级缓存),没有的话再去redis中查询,将查到的信息放入本地缓存10分钟。
  6. 页面通过Vue钩子函数ajax请求 调用读取广告的lua脚本展示数据。

3.数据库改变,如何保证实时预热操作?

  • 技术:canal,rabbitMQ
  • 步骤:
  1. 安装canal,进行配置
  2. 配置mq,监听广告表
  3. 拿到改变后的数据,取position的值通过对应mq发送消息
  4. business模块监听这个消息队列,拿到position的值,通过restTemplate发送请求,调用lua脚本进行预热缓存
  • 具体操作:和day06差不多
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值