我使用 websockets 编写了一个网络聊天应用程序。它每页使用一个连接将新消息推送给在线用户。
所以,有很多事情websocket.Conn
要管理。我目前正在使用地图。
onlineUser = map[int] *websocket.Conn
当打开 1,000,000 个页面时,我非常担心地图。
有没有更好的方法来存储所有的websocket.Conn
?
Erlang 的内部数据库可用于存储 erlang 套接字。
对于 Go,我曾考虑使用“encoding/gob”将套接字缓存在 memcached 或 redis 中。但是在使用websocket.Conn
它之前,它会被 GOB 解码,这会消耗太多的 CPU。