Redis отличается между StringSet и StringSetAsync - PullRequest
0 голосов
/ 06 марта 2019

У меня есть консольное приложение c #, и оно может работать несколько раз. Когда будет запущена первая консоль, я установлю ключ в Redis, чтобы предотвратить чтение второй консоли и обработку тех же данных. Потому что я хочу использовать несколько консолей для обработки огромных данных. Но я не уверен, что отличается между "Async" и без него в методе SET и GET.

Ниже приведен пример моего кода консоли, который я хочу спросить с помощью «Async» или без него подходит для этого сценария?

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);
            }
}
...