Nginx + Lua + 共享内存实现动态查询(简单例子)
2013-12-03 18:07
621 查看
Nginx 配置。
rule.txt文件格式。
步骤1,访问/update,更新共享内存devicedb
步骤2,访问query?device=XIAOMI,返回xiaRule
步骤3,修改rule.txt,将xiaRule改为xiaRuleaaaa
步骤4,访问/update,更新共享内存devicedb
步骤5,访问query?device=XIAOMI,返回xiaRuleaaaa
内网响应时间在5~10ms。
参考文章:
/article/3448560.html
http://haili.me/archives/722.html
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--samRule APPLE--appRule XIAOMI--xiaRule
步骤1,访问/update,更新共享内存devicedb
步骤2,访问query?device=XIAOMI,返回xiaRule
步骤3,修改rule.txt,将xiaRule改为xiaRuleaaaa
步骤4,访问/update,更新共享内存devicedb
步骤5,访问query?device=XIAOMI,返回xiaRuleaaaa
内网响应时间在5~10ms。
参考文章:
/article/3448560.html
http://haili.me/archives/722.html
相关文章推荐
- Nginx + Lua + 共享内存实现动态查询(简单例子)
- Nginx + Lua + 共享内存实现动态查询(简单例子)
- Nginx + Lua + 共享内存实现动态查询(简单例子)
- 一个简单实现多条件查询的例子
- linux两个程序通过共享内存通信的一个简单例子
- [C#]利用 DynamicLinq 实现简单的动态表达式构建查询
- 简单的例子:动态内存释放和析构函数
- 动态内存分配(malloc/free)简单实现--隐式空闲链表
- 简单进程池实现代码(共享内存为通信形式)
- 利用内存文件(共享内存)实现简单的数据库索引
- 一个自写的共享内存简单的例子,学习原理之用
- 动态内存管理的简单实现(适用于裸机环境即没有c标准库的环境)
- 【c语言】通讯录的简单实现文件版本(动态开辟内存)
- 用JDBC实现简单的数据库查询的一个例子
- Android内存共享、进程间高性能IO、手动实现 Binder IPC、Aidl例子
- nginx+lua实现简单的waf网页防火墙功能
- 搭建nginx+tomcat+memcache三套集群,开发简单springboot工程,实现session共享(持续更新中)
- nginx共享内存:共享内存的实现
- Nginx+Lua+MySQL/Redis实现高性能动态网页展现
- ajax实现动态从数据库模糊查询显示到下拉框中(ajax方法返回Dataset的例子)