我想让网站上的一个用户可以在我的 Django 网站上聊天请求另一个用户。我希望被请求者得到一个实时框,上面写着:“你想聊天吗?”
以下客户端轮询方法听起来如何:
user1 点击users2 的昵称,对一些/message/requests 产生一个POST 请求,在数据库中创建一个CHAT_REQUEST 类型的Message。同时,user2 的浏览器上的一个 Javascript 片段反复向服务器查询消息更新。当它接收到 CHAT_REQUEST 类型的消息时,它会打开一个弹出窗口...
这种方法的问题似乎是数据库访问。
如果客户端每 10 秒轮询一次,并且有 100 个用户打开浏览器窗口,则每秒有 10 个数据库请求。
将这些消息不存储在数据库中,而是存储在 Django RAM 或会话信息中会更好吗?或者这个数据库表会用 PostgreSQL 缓存在 RAM 中,并且检索速度很快?