统计页面上的当前用户

Max*_*akh 1 ruby-on-rails

我正在尝试计算特定页面上的当前查看者.我需要将此计数存储在DB中.主要问题是用户离开页面后清理.

用户是匿名的.每个活动用户每5秒发送一次AJAX请求.

这样做的最佳算法是什么?有什么建议?

UPD:我正在尝试减少对数据库的查询量,所以,我认为,我真的不需要将数据存储在数据库中,而我可以从代码中以其他方式访问它.

apn*_*ing 5

甚至不考虑将其存储在数据库中,您的应用程序将会非常慢.

所以使用Cache进行这种操作.

为了统计人数,我会说:

  • 为每个匿名用户分配一个随机ID并将其存储在他的会话中

  • 在您的ajax电话中发送ID

  • 在缓存中存储哈希数组[{ :user_id, :latest_ping }, {} ](为每个页面创建一个缓存var)

  • 删除看起来太旧的数组元素

  • 你有你的解决方案:用户数=数组中元素的nb