我想让它,该网站上的一个用户可以聊天请求其他用户对我的Django的网站。我想请求方获得实时的盒子,说:“你想聊天”

如何以下客户端轮询方法的声音:

上users2昵称USER1点击,生成一个POST请求一些/消息/请求,在数据库中创建类型CHAT_REQUEST的消息。同时,一个Javascript一块在user2的浏览器,反复查询的消息更新服务器。当它接收到类型CHAT_REQUEST的消息时,它打开一个弹出...

使用这种方法的问题似乎是数据库的访问。

如果客户端是每10秒的轮询,和100个用户离开他们的浏览器窗口打开,即每10秒的数据库请求。

会是更好地在数据库中没有存储这些信息,但在Django RAM或会话信息?还是将数据库表与PostgreSQL的RAM,和检索快速缓存?

有帮助吗?

解决方案

这个数据库表将使负载的服务器上,就像你说的,但如果你想保持这些请求,无论出于何种原因的记录可能是有用的。

使用类似的memcached或AMQP服务器可能会给你更好的性能。如果你喜欢,你甚至可以使用更高性能的键值店如东京柜/暴君东京。

其他提示

我建议你找通信,而不是一个“像彗星”“AJAX像”如果你担心服务器的性能和带宽的使用。

顺便提及, Redis的看上去非常好地适合用于处理那种在内存中的数据结构的

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top