nginx之lua_shared_dict
如果你也业务简单、数据结构简单,并且是单机应用,那你就选择lua_shared_dict nginx共享字典。这是一个不错的缓存方案。
配置语法
- 语法: lua_shared_dict dict_name size
lua_shared_dict dict1 10m # 字典名称 dict1 内存大小为10m
- 位置 放在http语块内 server语块外。
使用语法
常用的方法:get set delete incr
1. set
语法: success,err,forcible=set(key,value,expiretime?,flag?)
key
键value
值,支持数字、字符串、布尔、nil,不支持table类型expiretime
过期时间,单位为秒,可选参数flag
标志,备注,可选参数success
是否存储成功err
保存信息forcible
是否内存已满,强制删除了其他词条
2. get
语法: value,flag=get(key)
value
返回的值flag
存储时的备注信息key
为键
3. incr
语法:success,err,forcible=incr(key,step,init)
key
增长要操作的键step
自增步长,数值类型init
默认值,倘若字典中存在key,则取默认值,操作后的结果为init+step。可选参数,当没设置init 同时字典中不存在此key,则会报错。数值类型
4. delete
语法:delete(key)
key
要删除的键
-- 首先获取字典 local dict1 = ngx.shared.dict1 -- 存值 dict1:set("key1","val1",1000) -- 取值 dict1:get("key1") -- 自增 操作后key2 为1 dict1:incr("key2",1,0) -- 删除 dict1:delete("key1")
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论