Я использую StackExchange.Redis 1.0.450 nuget в C#. У меня есть код, как показано ниже, который проверяет наличие keyexists в Redis, прежде чем добавить -Существует проверка проверки перед вызовом метода StringSet для StrackExchange.Redis
if (!Cache.KeyExists(fKey))
{
Cache.StringSet(fKey, Serialize(data));
}
где Cache является Database объект
Я читал о команде Redis SET здесь http://redis.io/commands/set и обнаружил, что SET будет перезаписывать существующее значение ключа, если оно уже существует. Использование StackExchange.Redis можно безопасно удалить условие проверить, существуют и называют просто -
Cache.StringSet(fKey, Serialize(data));
Цените ваш ответ.
Что заставляет вас думать, что вы не можете удалить его безопасно? В конце концов другой поток, возможно, поместил что-то в кеш между проверкой «KeyExists» и «StringSet» в любом случае. –
Ну что ж, вы хотите * перезаписать, если ключ уже существует, или вы хотите оставить существующее значение? –
Спасибо Джеймс и Джон, я в порядке, даже если он перезаписывается. Спасибо. – VST