添加shared arc 缓存算法 用来临时存储数kv 结构数据 是何小量数据 比本地存储要快而且采用LRU淘汰算法变量贡献逻辑
星号 * 代表共享内存的名称
-- 创建一个名为rate的 共享内存
-- 新增缓存空间 大小为key的个数,而非内存大小
vela.shared.rate= 300 --名称为rate
vela.shared.*.set(key , val , [ttl])
- 存储一个新的key 如果key存在的话 ,会直接覆盖, 设置了ttl的话,会重新计算时间, 没有沿用上次的expire
- key: string
- val: 非nil对象
- ttl: 单位 millisecond(微秒) , 默认为永久
local rate = vela.shared.rate
rate.set("192.168.1.1" , 2 , 4000) -- 4s
rate.set("192.168.1.1" , 30) -- 2个参数时候
vela.shared.*.incr(key , step , [ttl])
- 加法运算 如果key不存在 默认创建, 此时默认数值为step , ttl 跟set 方法类似
- 减法运算 去负数 如:-1
local rate = vela.shared.rate
rate.incr("192.168.1.1" , 1 , 502)
vela.shared.*.del(key)
local rate = vela.shared.rate
rate.del("192.168.1.1" , 1)
vela.shared.*.count
- 当前缓存中的数据条数, 不包括已经超时的
print(vela.shared.rate.count)
vela.shared.*.count_all
- 当前缓存中的数据条数, 包括已经超时的
print(vela.shared.rate.count_all)
vela.shared.pairs(fn)
- 迭代遍历
vela.shared.rate.pairs(function(item , stop)
print("key: " , item.key)
print("val: " , item.val)
print("clock: " , item.clock)
print("expire:" , item.expire)
end)