是否有一种简单的方法可以原子方式读取值,然后使用StackExchange c#驱动程序从Redis中删除它?
我在Redis中缓冲项目,当它们达到某个阈值时我会检索它们,但我也想刷新我的缓冲区。
我需要提一下,我将项目存储在一个列表中并通过“刷新缓冲区”我的意思是我要删除列表
“关键”:[项目清单]
答案 0 :(得分:6)
您可以创建一个事务并以原子方式执行GET / DEL,如下所示:
var db = connectionMultiplexer.GetDatabase();
var tran = db.CreateTransaction();
var getResult = tran.StringGetAsync(key);
tran.KeyDeleteAsync(key);
tran.Execute();
var value = getResult.Result;
这将向Redis发送以下命令:
MULTI GET "key" DEL "key" EXEC