【发布时间】:2021-03-03 12:00:55
【问题描述】:
当我使用 lua 脚本在 openresty 中执行此操作时,使用 redis 命令设置过期时间显示为永久密钥。 lua 脚本如下:
local function ip_frequency(ip,red)
local limit_num=50
local key = "limit:frequency:"..ip
local resp, err = red:get(key)
if resp==nil then
local ok,err=red:setex(key,2,1)
if not ok then
return false;
end
end
if type(resp) == "string" then
if tonumber(resp) > limit_num then
return false
end
end
ok, err = red:incr(key)
if not ok then
return false
end
return true
end
openresty程序运行一段时间后,redis中出现了一些永久键。从这个函数可以看出我没有设置永久时间的键,但它只是发生了。为什么会这样,请帮我回答这个问题。谢谢!
软件版本如下:
- openresty:1.17.8.2
- redis:6.0+
- centos:8.0+
【问题讨论】: