我已经使用 Redis 缓存了我的数据库。当我在 redis 的 connectionmultiplexer 类的实例上运行 dispose() 方法时,它不会刷新键和数据库。
---
private static ConnectionMultiplexer _conn;
private static ConnectionMultiplexer Connection
{
get
{
lock (Lock)
{
//Close & Dispose Old connection
if (_connection != null)
{
_conn.Close(false);
_conn.Dispose();
_conn = null;
}
---
---
return _conn;
}
}
}
问题:这个 dispose() 方法到底做了什么?它不应该刷新并清除所有连接到 _conn
的 redis 数据库吗?
最佳答案
为什么客户端应该自动刷新 Redis??
实际上将它用作分布式缓存的任何人都无法使用它(许多连接的客户端使用共享缓存......)。
Redis 有一个 FLUSH
和 FLUSHALL
命令,它们在每个服务器上工作,您可以显式调用它们。
见 https://github.com/StackExchange/StackExchange.Redis/blob/master/Docs/KeysScan.md
关于c# - ConnectionMultiplexer 的 dispose() 方法不会刷新所有键和它连接到的 redis 数据库吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43204268/