lrucache

本文通过一个具体的 Lua 代码示例介绍了如何使用 resty.lrucache 模块实现本地 LRU 缓存,并展示了缓存设置、获取及删除操作的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


local _M = {}

--local lrucache = require "resty.lrucache.pureffi"
local lrucache = require "resty.lrucache"

-- we need to initialize the cache on the lua module level so that
-- it can be shared by all the requests served by each nginx worker process:
local c = lrucache.new(200) -- 如果是2,则下面的代码,dog的值会被cat和x覆盖
if not c then
return error("failed to create the cache: " .. (err or "unknown"))
end

function _M.go()
c:set("dog", 32)
c:set("cat", 56)
ngx.say("dog: ", c:get("dog"))
ngx.say("cat: ", c:get("cat"))
c:delete("cat")
ngx.say("cat: ", c:get("cat"))

c:set("x", 101, 2) -- expire in 1 sec
ngx.sleep(1)
ngx.say("x: ", c:get("x"))
ngx.sleep(1)
ngx.say("x: ", c:get("x"))
end

_M.go()

return _M


dog: 32
cat: 56
cat: nil
x: 101
x: nil101
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值