Единственные примеры, которые я вижу, - это использование условия HashNotExists и установка значения Hash с помощью HashSetAsync.
Я не могу понять, как мне сделать то же самое для значения без хэша.Мне нужно наблюдать за объектом, который является двоичным сериализованным (хранящим двоичный сериализованный объект в кэше).
В настоящее время я использую LockTake / LockRelease для управления параллелизмом, но это кажется плохим решением для длительной работы.
var newId = CreateNewId();
var tran = db.CreateTransaction();
tran.AddCondition(Condition.HashNotExists(custKey, "UniqueID"));
tran.HashSetAsync(custKey, "UniqueID", newId);
bool committed = tran.Execute();
// ^^^ if true: it was applied; if false: it was rolled back
https://stackexchange.github.io/StackExchange.Redis/Transactions.html