(GoRails)ActionCable如何用Redis.

Posted Mr-chen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(GoRails)ActionCable如何用Redis.相关的知识,希望对你有一定的参考价值。

视频:

https://gorails.com/episodes/how-actioncable-uses-redis?autoplay=1

原理PubSub, 你进入一个频道,然后就能接收,和发布信息给频道中的所有人。

 

Redis CLI

假设已经安装redis。在terminal运行:

redis-cli

进入,后输入subscribe "chat"订阅频道:

subscribe "chat"

显示:

Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "chat"
3) (integer) 1

在其他terminal,多开几个,同样订阅"chat"

在其中一个termain退出再运行:

redis-cli

 

publish "chat" "hello!"其他terminal都能收到"hello"。


 

Rails

上一次视频:

建立了一个cable

class NotificationsChannel < ApplicationCable::Channel
  def subscribed
  # 当你加入频道,你只会收到你的通知。当创建一个订阅后,从客户端向服务器端传参数
  stream_from "notifications:#{current_user.id}"
  end

进入rails console,然后输入ActionCable.server.broadcast "notifications:11", {html: "<h1>hello</h1>"}

各个terminal都会收到hello。

 





以上是关于(GoRails)ActionCable如何用Redis.的主要内容,如果未能解决你的问题,请参考以下文章

如何用单引号替换双引号

ActionCable 不再在生产环境中工作

python正则表达式如何用已知字符串(如"aaa")替换文件中匹中的分组内容,不是匹中的全部,而是其中一个组

如何用新数据刷新剑道网格

如何用Python语言实现在一个文件中查找特定的字符串?

如何用 Navigator 2.0 替换动画页面?