Я просматриваю следующий код, который пытается:
- добавить ключ/значение в базу данных Redis.
- установите срок действия этого нового ключа Redis.
i.e.
{
var batch = database.CreateBatch();
var tasks = new Task[]
{
batch.SetAddAsync(key, value, flags),
batch.KeyExpireAsync(key, expiry, flags)
};
batch.Execute();
await Task.WhenAll(tasks)
}
сделать все это в одном Redis Batch
.
У меня сложилось впечатление, что вы не можете установить порядок, когда дело доходит до пакетной обработки, не говоря уже о нескольких задачах в async/await
.
Таким образом, может иметь место следующий порядок:
KeyExpiresAsync
‹-- ключ еще не существует.SetAddAsync
‹-- ключ не существует. ключ создан. Затем члены добавляются к ключу.
Я надеюсь и не хочу, чтобы заказ был гарантированным, то есть .. он пытается сделать параллель с этим как можно быстрее.
Итак, мое понимание правильное или неуместное?