StringSet与StringSetAsync之间的Redis不同

时间:2019-03-06 07:12:54

标签: c# redis stackexchange.redis

我有一个c#控制台应用程序,它可以多次运行。当第一个控制台运行时,我会将密钥设置为Redis,以防止第二个控制台读取和处理相同的数据。因为我想使用运行多个控制台来处理大量数据。但是我不确定使用“异步”和在SET和GET方法中不使用“异步”之间有什么区别。

下面是我的示例控制台代码,我想问一下“异步”是否适合这种情况?

public static async Task ExecuteTest()
{
            var value = db.StringGet("CustomerGameData");
            //var value2 = db.StringGetAsync("CustomerGameData");

            if (!value.HasValue || value == 0)
            {
                db.StringSet("CustomerGameData", 1);
                //db.StringSetAsync(("CustomerGameData", 1);
            }

            //example need 5 second to complete the logic
            await Task.Delay(TimeSpan.FromSeconds(5));

            if (db.StringGet("CustomerData") == 1)
            {
                db.StringSet("CustomerData", 0);
                //db.StringSetAsync(("CustomerGameData", 0);
            }
}

0 个答案:

没有答案