Сканировать ключ кэша в Redis Cache с помощью C#

Я использую Redis Cache в своем проекте. Теперь возникает ситуация, когда кеш генерируется динамически, например, «KeyPrefix»+i i является динамическим значением.

Теперь я хочу удалить все ключи с префиксом «KeyPrefix».

Как это возможно, поскольку в моем коде я могу удалить только соответствующий ключ. Но мне нужно удалить все ключи, содержащие какой-то префикс.

  IDatabase cache = RedisDistributedCacheManager.GetDatabase();
                cache.KeyDelete(cacheKey);

Спасибо, Далвир.


person Dalvir Singh    schedule 28.09.2015    source источник
comment
возможный дубликат Redis Stack Exchange, как удалить или получить ключи по шаблону   -  person The Real Bill    schedule 30.09.2015


Ответы (1)


Сканирование ключей Redis нацелено на сервер, а не на одну базу данных. Таким образом, вы можете получить переменную сервера, а затем использовать метод Keys для получения всех необходимых ключей:

var server = conn.GetServer(someServer);    
server.Keys(pattern: "*foo*"))

Сначала проверьте документ: https://github.com/StackExchange/StackExchange.Redis/blob/master/Docs/KeysScan.md

person Ilya Chumakov    schedule 28.09.2015