目录
优化整体框架图:
通过OpenResty整合Lua脚本访问Redis,直接将数据返回给前端页面。
分为二级缓存,内部缓存和Redis
缓存预热,定时任务实现MySQL和Redis的同步
响应时间达到1~2秒
主要分为两个步骤:
1.缓存预热
2.缓存读取
缓存预热
以首页轮播图为例,lua脚本内容如下:
将ad_update.lua保存到openresty/nginx/conf/lua目录下
ad_update.lua
-- 获得uri中的sid参数值
local uri_args = ngx.req.get_uri_args()
local sid = uri_args["sid"]
-- 连接mysql
local mysql = require "resty.mysql"
local db = mysql:new()
db:set_timeout(1000)
local ok, err = db:connect{
host = "127.0.0.1",
port = 3306,
database = "edu_ad",
user = "root",
password = "123456",
charse