• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

LUA实例:查询优化技术之多级缓存

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

查询优化技术之多级缓存

nginx的代理缓存配置方式

nginx proxy cache缓存的配置方式:在nginx.conf中申明如下内容

# 申明一个cache缓存节点的路径
proxy_cache_path /usr/local/openresty/nginx/cache_temp levels=1:2 keys_zone=tmp_cache:100m inactive=7d max_size=100g;

# /usr/local/openresty/nginx/cache_temp 缓存文件位置
# levels 目录设置了两级结构用来缓存
# keys_zone 指定一个叫tmp_cache的缓存区,并且设置100m的内存用来存储缓存key到文件路径的位置
# inactive 缓存文件超过7天后自动释放淘汰
# max_size 缓存文件总大小超过100g后自动释放淘汰

location内加入

proxy_cache tmp_cache;
proxy_cache_valid 200 206 304 302 10d;
proxy_cache_key $request_uri;

openresty扩展

加载lua模块
http模块如下

lua_package_path "/usr/local/openresty/?.lua;;"; # lua模块
lua_package_cpath "/usr/local/openresty/lualib/?.so;;" # c模块

测试lua输出

location = /lua {
    default_type 'text/plain';
    content_by_lua 'ngx.say("hello, lua!")';
}

shared dict扩展

  • 修改nginx.conf内,加入shared diction的扩展,申明128m的共享字典的访问内存
lua_shared_dict my_cache 128m;
  • 设置location用来做访问shared dict的lua文件
location ^~/itemlua/get {
    default_type 'application/json';
    content_by_lua_file '/usr/local/openresty/nginx/lua/itemsharedic.lua';
}
  • 然后使用itemlua url去访问验证

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
lua luv分析发布时间:2022-07-22
下一篇:
lua发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap