我希望我的应用程序在收到来自 Redis 的失效消息时执行某些操作。但与任何分布式系统一样,存在网络丢包等固有风险。
如果我的应用程序(即 Redis 客户端)能够检测到无效消息何时无法到达它,那就太好了。但我认为根据定义这是不可能的 - 消息是由 Redis 服务器发送的,如果它们无法到达客户端,那么客户端将不会听到任何有关它的信息。或者,至少,Redis 服务器端是否公开任何指标来指示它发送失效消息失败的频率?
我见过的 Redis 讨论的最接近的事情是(来源:客户端缓存参考 - 与服务器失去连接时该怎么做):
确保如果连接丢失,本地缓存会被刷新
我正在使用的客户端库,rueidis,确实实现了这一点。我可以假设只要连接处于活动状态,就始终会收到 100% 失效消息吗?
参考文献(通常有用,但没有一个明确讨论我的问题):