我有一个ASP.NET Web应用程序,它利用Redis(通过非常棒的StackExchange.Redis)作为缓存存储。
我还使用Redis pub / sub在需要刷新这些缓存条目时使其无效(读取:缓存长,根据需要刷新)。但是,我注意到如果发布者写得太快,Web应用程序(订阅者)无法跟上消息,并且与Redis的套接字连接将被阻止,导致无法完成读取(注意:此可能< / em>不是套接字被阻止的原因,但是我在从我的Web应用程序中删除pub / sub后得出了这个结论,并且问题消失了)
旁注:我已将PreserveAsyncOrder选项保留为默认值(true),但我认为我可以将此设为假,因为我不关心消息的顺序?
让您了解这一切是如何工作的,在启动时(仅一次)Web应用程序:
然后,后台组件将消息发布到Redis(最多每秒1或2),这会导致Web应用程序更新(而不是删除)缓存的条目,例如将项目添加到预先存在的集合中。 / p>
我的问题:
非常感谢任何指导。
谢谢!