2017-05-09 12 views
0

redisキャッシュからエントリを削除する必要があります。 特定の値と一致する場合のみです。.NET Stackexchange.Redis:値によって条件付き削除?

可能であれば、最初に値を取得し、サーバーをチェックしてから削除するオーバーヘッドを避けたいと思います。

値に応じて削除を制限するためにチェックした削除コマンドにオプションがありません。

答えて

1

Luaスクリプトを使用してRedis(クライアントとプログラミング言語の選択肢が少なくて済むように)で行うことができるのは、クライアントとサーバーを避けるためのものです。

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 

は、RedisのでLuaの上でより多くの洞察を得るEVAL's documentationをチェックアウトするには:ここでは平等のための文字列の値をチェックし、もしそうであれば、キーを削除するサンプルスクリプトです。

+0

ありがとうItamar!これは時間/ emazeからasaf(別名 '茶の男')です: – CodeToad

+0

ちょっとAsaf、あなたもここに沸騰してクール、あなたはほとんど歓迎です:) –

関連する問題