为什么我需要Redis中的多个连接以及聊天应用需要多少内存?

时间:2014-06-10 16:36:38

标签: node.js mongodb redis socket.io

我是redis的新手,我注意到所有在线服务都有不同的连接数,具体取决于价格。我也想知道实时聊天应用程序需要多少内存,而不需要存储聊天数据。

例如,一项服务免费提供25MB和10个连接。

我正在构建一个聊天应用程序,我正在使用nodejs / mongodb / socketio。我在应用程序加载时创建了与db的连接。在后台发生了多个连接吗?如果有两个人同时连接到我的应用程序并调用某个需要数据库连接的功能,这意味着正在使用两个连接?这不是我以前考虑过的事情。

更具体地说,当我的应用程序正在使用socketio并且我正在考虑使用redis时,redis连接的数量是否与websocket连接的数量相关或者它们是完全分离的东西?

关于记忆。我知道存储在redis中的数据可以设置为过期,并在过期后自动删除。删除内容的速度有多快?就实时应用而言,即使是最小的25MB似乎也是巨大的。是否可以说给数据一个1或2分钟的到期时间以保持db大小?

对于实时聊天应用来说,25MB实际上相当大。有很多连接吗?如果是这样,为什么不提供任何redis服务提供小数据库大小和大连接数量?

1 个答案:

答案 0 :(得分:0)

您的"订户的一个连接"还有一个适合您的"出版商"。发布者将消息推送到频道或队列,并且订阅者弹出队列或侦听频道。我在一个带有512mb ram的linode上的一些应用程序就好了。如果您使用的是socket.io,则会有bus.io在redid和socket.io上构建分布式消息总线。看看这个 https://www.npmjs.org/package/bus.io