我有一个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);
}
}