2016-08-29 22 views
0

假设钥匙asd将在某个时间点过期。
和客户端运行此脚本卢阿:在lua脚本的命令之间,redis服务器是否删除过期的密钥?

local a = EXISTS asd 
local b = EXISTS asd 

是否有可能有a真实与b假?
或者我应该放心,在脚本或MULTI命令运行时,不会删除已过期的密钥吗?

上下文: 我正在创建一种网站,其中有关其他用户的查询需要很长时间来处理。所以我想创建这些查询,将它们存储在某些键中,并在x分钟后将它们过期,以便根据请求重新生成它们。

我有一个脚本,检查给定的查询是否已过期,并重新生成它。事情是这样的:

local e = EXISTS query 
if e == "1" then 
    -- generate query results 
end 
-- return results 
+1

@RyanVincent是的,当然,没问题,更新 – Erandros

回答

2

正确答案(编辑):

不,这是不可能的:)时间是脚本的执行过程中冻结。

错误的答案:

是的,这是可能的。每次访问密钥都会检查/强制执行期满。