- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
在我的缓存 AddItem
和 GetItem
方法中,我在继续之前检查到 redis 的连接是否存在,是 ConnectionMultiplexer.IsConnected
昂贵的方法调用?还是我应该捕获异常并在这种情况下重新连接?
最佳答案
查看ConnectionMultiplexer.IsConnected代码:
public bool IsConnected
{
get
{
var tmp = serverSnapshot;
for (int i = 0; i < tmp.Length; i++)
if (tmp[i].IsConnected) return true;
return false;
}
}
似乎这里完成的所有工作都是通过服务器端点来查看是否至少有一个服务器端点连接。
查看ServerEndPoint.IsConnected代码:
public bool IsConnected
{
get
{
var tmp = interactive;
return tmp != null && tmp.IsConnected;
}
}
此处完成的所有工作都是返回交互式(PhysicalBridge 类型)IsConnected 值。
查看PhysicalBridge.IsConnected代码:
public bool IsConnected => state == (int)State.ConnectedEstablished;
你可以看到这里所做的所有工作都是返回两个 int 是否相等。
所以调用 ConnectionMultiplexer.IsConnected 属性似乎只做了很少的工作。
关于redis - "ConnectionMultiplexer.IsConnected"贵吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35517135/
Basic Usage StackExchange.Redis 的文档解释说 ConnectionMultiplexer 是长期存在的,预计会被重用。 但是当与服务器的连接断开时怎么办? Connec
我正在尝试建立一个项目来了解 azure redis 缓存。当我尝试调试时,我收到一条消息“未找到 ConnectionMultiplexer.cs”。我在我的机器中也找不到该文件。 我已经安装了 S
在我的缓存 AddItem 和 GetItem 方法中,我在继续之前检查到 redis 的连接是否存在,是 ConnectionMultiplexer.IsConnected昂贵的方法调用?还是我应该
using (ConnectionMultiplexer connection = ConnectionMultiplexer.Connect("redisIP:6379,allowAdmin=tru
在 ConnectionMultiplexer 中处理套接字故障的正确方法是什么?我知道它会在后台静静地重试,但是有没有公认的规范方法来处理这种断开连接之间的时间?由于无论如何我都将其包装在我们自己的
使用 StackExchange.Redis 时创建多个 ConnectionMultiplexer 实例有什么好处吗?我们正在对 Azure Redis 缓存进行大量读/写调用,想知道单个 Conn
我有一个 6 节点的 Redis 集群,如您所料,有 3 个从节点和 3 个主节点。 从 Redis 服务器的角度来看,一切看起来都很笨拙,我可以在服务器上调用 cluster failover 或
我们在应用程序中使用 C1 Azure Redis 缓存。最近,我们在 GET 操作上遇到了大量超时。 According to this article ,可能的解决方案之一是实现 Connecti
我尝试通过 ConnectionMultiplexer.Connect("127.0.0.1"); 连接到我的 Redis 服务器实例,但是尽管没有服务器启动和运行,连接不会抛出错误也不会引发任何 C
我在我的 Windows 7 机器上成功安装了 Redis 服务器。快速动手,一切都按预期进行。(使用来自 https://github.com/MSOpenTech/redis 的 MSI 安装程序
我正在使用 StackExchange.Redis 与 3 个不同的 Redis 实例通信:1 个在同一子网上,2 个远程。这是我的配置代码: var configurationOptions = n
我正在使用出色的 StackExchange.Redis 库来实现 ObjectCache。在 ObjectCache 中实现的接口(interface)方法之一是 long GetCount(...
我已经使用 Redis 缓存了我的数据库。当我在 redis 的 connectionmultiplexer 类的实例上运行 dispose() 方法时,它不会刷新键和数据库。 --- privat
我正在将 ConnectionMultiplexer 静态对象存储在 ASP.NET MVC 网站中,速度达到 ~500req/sec,这会触发 RedisLabs 上的 Redis 实例。偶尔我会看
我正在努力模拟与 StackExchange.Redis 库相关的行为,但无法弄清楚如何正确模拟它使用的密封类。一个具体的例子是在我的调用代码中我正在做这样的事情: var cachable
我正在 .NET Core 2.2 中开发一些 web api 需求将我们带到了数据存储/缓存/集中在多个 redis 存储中的地步(为了简单起见,我们假设有 2 个 redis 服务器)。 那将是(
我有一个使用 .aspx 页面用 VBS 编写的 azure web 应用程序。我需要这些页面来使用 StackExchange.Redis 访问我的 Azure 托管的 Redis 缓存。 如何跨多
我读到为了连接到 Azure Redis 缓存最好遵循这种做法: private static ConnectionMultiplexer Connection { get { return Lazy
如何使用 StackExchange.Redis ConnectionMultiplexer 而不是 BookSleeve ConnectionUtils 连接到 Redis sentinel。 我目
目前 SignalR.Redis 正在使用 Booksleeve。 但是,SignalR.Redis 现在已经迁移到 StackExchange.Redis,而不是 signalR.Redis(2.2
我是一名优秀的程序员,十分优秀!