我有一项服务可以实时更新 redis (快速内存数据存储)中的设置。 我还有一个连接到此redis实例的 rails 应用。任务是向所有客户端显示设置内容。请注意,根据某些客户端的设置,该集合的某些元素不应发送给它们。
我不想在每次更新时发送整套内容。应该可以只发送差异,我可以选择使用哪种方法。
实施 rails - >客户端连接:
服务 - > redis set - >轨道:
除此之外,我还必须实施更改/删除案例。 看起来这种方法过于复杂和低级。事情可能很容易失去同步,并且它们在内存中重复多次。
其他信息:客户不会太多,也许会有一千个。该集将每秒更新一次,有时更多,有时更少。
让客户端与redis中的状态保持同步的最佳方法是什么?反应使用是否合理?有没有一些本地反应实现这样的"差异"图案?
答案 0 :(得分:1)
我有一个同时使用React和ActionCables的应用。
两者合作得很好。了解ActionCables的局限性(它具有比其他类似工具更低的用户限制基准)非常重要,但如果您不希望成千上万的用户同时使用它,那么它的工作正常。 / p>
无论你是否使用React,我认为Flux模式在管理套接字连接状态方面有很长的路要走。 Vanilla Flux和Redux都是很好的伙伴,在收听服务器的变化,然后将这些信息传播到应用程序的相关区域方面做得非常出色。它们碰巧最初用于React,但实际上你可以在任何前端框架中使用它们。