c# - ConnectionMultiplexer 的 dispose() 方法不会刷新所有键和它连接到的 redis 数据库吗?

标签 c# redis stackexchange.redis

我已经使用 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 有一个 FLUSHFLUSHALL 命令,它们在每个服务器上工作,您可以显式调用它们。

https://github.com/StackExchange/StackExchange.Redis/blob/master/Docs/KeysScan.md

关于c# - ConnectionMultiplexer 的 dispose() 方法不会刷新所有键和它连接到的 redis 数据库吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43204268/

相关文章:

redis - StackExchange.Redis 事务方法卡住

Redis cli删除多个key

c# - 从 C# 2.0 中的另一个线程更新控件

c# - 在构造函数中分配类值?

python - 如何使用for循环使用python脚本将值1-100插入redis?

php - 提高 Symfony2 中的 Controller 性能

ruby-on-rails - 无法安装 recommendify gem - hiredis.h 未找到

redis - StackExchange Redis 的分区键空间

c# - 无法在 Visual Studio 2008 中创建 list 资源名称错误

c# - 如何从 URI 下载图像并从中创建位图对象?