Actioncable 使用了多少个 Redis 连接?

El *_*Tea 5 ruby-on-rails redis actioncable

我正在考虑将应用程序的部署迁移到 Heroku,并且我想在进行迁移之前确定它是否可以在基本计划上正确运行。基本计划将 Redis 限制为 20 个连接。

我根本不了解 Rails/Redis 连接架构。是否存在与 Actioncable 的单个连接(然后由该连接分发数据),还是每个实际客户端的连接(即每个浏览器选项卡都有一个连接)?

the*_*guy 1

根据文档

单个用户将为他们打开的每个浏览器选项卡、窗口或设备创建一个消费者连接对。

ActionCable 允许您使用连接标识符(在大多数情况下通常是名为 current_user 的全局对象)来标识连接。通过这种方法,您可以稍后检索给定用户的所有打开的连接(如果用户被删除或未经授权或打开的连接过多,则可能会断开所有连接)。

另请注意,ActionCable 使用工作池来运行连接回调和通道操作,与服务器的主线程隔离。