2017-05-09 70 views
0

我需要删除的Redis缓存, 一个条目但只有当它一定的值相匹配。.NET Stackexchange.Redis:条件删除取决于值?

如果可能的话,我想避免的第一所获得的价值,检查服务器上,然后删除开销。

我看到了,我检查了限制删除取决于值的删除命令的选项。

回答

1

你可以做,在Redis的(关于客户少和编程语言的选择)使用Lua - 脚本只是为了避免客户端 - 服务器来回的东西。下面是对平等检查一个字符串值,然后删除密钥如果是一个示例脚本:

local key = KEYS[1] 
local val = ARGV[1] 
local cur = redis.call('GET', key) 
if cur == val then 
    return redis.call('DEL', key) 
else 
    return 0 
end 

要获得更多Lua更多的见解Redis的,检查出EVAL's documentation

+0

谢谢艾塔玛!这是asaf(又名'tea guy')from the time/emaze :) – CodeToad

+0

嘿Asaf,在这里也很酷地碰到你,你也很受欢迎:) –