如果你也业务简单、数据结构简单,并且是单机应用,那你就选择lua_shared_dict nginx共享字典。这是一个不错的缓存方案。
配置语法
- 语法: lua_shared_dict dict_name size
lua_shared_dict dict1 10m
# 字典名称 dict1 内存大小为10m
使用语法
常用的方法: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)
-- 首先获取字典
local dict1 = ngx.shared.dict1
-- 存值
dict1:set("key1","val1",1000)
-- 取值
dict1:get("key1")
-- 自增 操作后key2 为1
dict1:incr("key2",1,0)
-- 删除
dict1:delete("key1")
|