Nginx + Lua + 共享内存实现动态查询(简单例子)
来源:互联网 发布:大数据用户画像 模型 编辑:程序博客网 时间:2024/06/13 10:44
Nginx 配置。
lua_package_path "/usr/local/share/luajit-2.0.2/jit?.lua;;"; lua_shared_dict devicedb 45m; location /query { default_type 'text/plain'; content_by_lua ' local args = ngx.req.get_uri_args() local devicetype = args["device"] local devicedb = ngx.shared.devicedb local res = devicedb:get(devicetype) ngx.say(res) '; } location /update { default_type 'text/plain'; content_by_lua ' local devicedb = ngx.shared.devicedb for item in io.lines("/usr/local/nginx-1.4.2/data/rule.txt") do _,_,device_type, device_rule = string.find(item, "^(%a+)--(%a+)$") devicedb:set(device_type,device_rule) end ngx.say("ok") '; }
rule.txt文件格式。
SAMSUNG--samRuleAPPLE--appRuleXIAOMI--xiaRule
步骤2,访问query?device=XIAOMI,返回xiaRule
步骤3,修改rule.txt,将xiaRule改为xiaRuleaaaa
步骤4,访问/update,更新共享内存devicedb
步骤5,访问query?device=XIAOMI,返回xiaRuleaaaa
内网响应时间在5~10ms。
参考文章:
http://my.oschina.net/766/blog/158972
http://haili.me/archives/722.html
- Nginx + Lua + 共享内存实现动态查询(简单例子)
- Nginx + Lua + 共享内存实现动态查询(简单例子)
- Nginx + Lua + 共享内存实现动态查询(简单例子)
- Nginx + Lua + 共享内存实现动态查询(简单例子)
- nginx+redis+lua 共享内存
- linux 共享内存 简单例子
- nginx共享内存:共享内存的实现
- nginx - 共享内存与锁的实现
- nginx-lua开发例子
- 动态内存分配简单实现
- Linux进程间通信 共享内存+信号量+简单例子
- Linux进程间通信 共享内存+信号量+简单例子
- 创建或者加载共享内存简单实现
- 共享内存例子
- 共享内存例子
- 共享内存例子
- Linux 共享内存例子
- nginx共享内存管理
- C++中自己在回调函数中写的消息没反应
- java的容器图解
- ubuntu启动问题
- C语言内存模型及运行时内存布局
- windows编程之简单的画图操作
- Nginx + Lua + 共享内存实现动态查询(简单例子)
- C#命令行参数解析类以及使用实例
- 近期开发css总结
- oracle 锁表与解锁
- pt-mysql-summary 总结MySQL配置信息
- 文件上传利器SWFUpload使用指南
- 北上广深怎么来的
- Android 随笔记录
- Spring定时器时间配置