使用 StackExchange.Redis 从 Redis 进行原子读取和删除
Atomic read and delete from Redis using StackExchange.Redis
是否有一种简单的方法来自动读取一个值,然后使用 StackExchange c# 驱动程序将其从 Redis 中删除?
我在 Redis 中缓冲项目,当它们达到某个阈值时,我会检索它们,但我也想刷新我的缓冲区。
我需要说明一下,我将项目存储在列表中,"flushing the buffer" 我的意思是我想删除列表。
"key" : [项目列表]
您可以创建事务并自动执行 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
是否有一种简单的方法来自动读取一个值,然后使用 StackExchange c# 驱动程序将其从 Redis 中删除?
我在 Redis 中缓冲项目,当它们达到某个阈值时,我会检索它们,但我也想刷新我的缓冲区。
我需要说明一下,我将项目存储在列表中,"flushing the buffer" 我的意思是我想删除列表。
"key" : [项目列表]
您可以创建事务并自动执行 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