Elixir 存储Phoenix频道的特定于主题的数据
给定一个有多个用户连接到特定主题的Elixir 存储Phoenix频道的特定于主题的数据,elixir,phoenix-framework,Elixir,Phoenix Framework,给定一个有多个用户连接到特定主题的频道,比如“房间:大厅”,我希望能够存储与频道相关的信息,我可以在每次收到新消息时检索并可能更新这些信息。从某种意义上说,我希望每个主题都是自己的GenServer一样的东西 据我所知,Phoenix.Socket.assign/3存储每个用户的本地信息,因此不起作用。我仍然不太明白您在问什么,但如果我是您,我会考虑使用来尝试做您正在做的事情。我会发布我正在查看的代理文档部分,但正如我所说,我不确定我是否正确理解了您的问题。我不太清楚@Havvy,但我认为您混淆
频道
,比如“房间:大厅”
,我希望能够存储与频道相关的信息,我可以在每次收到新消息时检索并可能更新这些信息。从某种意义上说,我希望每个主题都是自己的GenServer一样的东西
据我所知,Phoenix.Socket.assign/3
存储每个用户的本地信息,因此不起作用。我仍然不太明白您在问什么,但如果我是您,我会考虑使用来尝试做您正在做的事情。我会发布我正在查看的代理文档部分,但正如我所说,我不确定我是否正确理解了您的问题。我不太清楚@Havvy,但我认为您混淆了两个不同的概念。我认为频道是凤凰城的概念,“房间”是你的聊天应用程序特有的东西。也许可以重新表述你的问题?就目前的情况来看,这有点让人困惑。是的,再多阅读一些参考文档,我发现它被称为“主题”,而不是房间。我将更新问题以使用正确的术语。您希望仅将信息存储在内存中还是将其持久化?什么样的数据,比如整个对话或关于事件/时间数量的“元数据”数据等?我想我理解@Havvy的问题,并且可以这样看:如果Phoenix让你做def join(“room:“roomid,_params,socket”)do
,我如何访问中的roomid
处理
或处理
,举个例子,我将对此进行投票,因为这最终是我所做的,但这并不是真的/使用/Phoenix,而只是为似乎不存在的东西添加了一个线索。