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")总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论