I installed Stack Exchange redis client in C#. I can only delete one key or array of keys but I don\'t know how to delete keys with prefix. Or another solution can be first
Deletion is separate by key, unless you are flushing the entire database.
Key scanning is readily available on the IServer
API, and is discussed much more here: https://stackexchange.github.io/StackExchange.Redis/KeysScan
However, it should still usually be avoided in production - that isn't the intended use-case for redis.
You can do as the following to batch delete items from redis cache. (StackExchange.Redis.StrongName v1.0.488)
foreach (var ep in _muxer.GetEndPoints())
{
var server = _muxer.GetServer(ep);
var keys = server.Keys(database: _redisDatabase, pattern: pattern + "*").ToArray();
_db.KeyDeleteAsync(keys);
}
_muxer
is instance of ConnectionMultiplexer
It does not delete by pattern as you asked but much faster than deleting each key separately.