我目前正在设计一个系统,我们需要知道用户是否仍然在线/登录。
该系统是基于 .Net 网络的,因此我们打算使用 AJAX/JSONP 代码执行此操作,该代码每 2 分钟 ping 服务器一次。
有大量用户,因此每 2 分钟 ping 一次会导致 ca. 每秒 600 次 ping。
因此,我们打算将此服务放在它自己的服务器上,并使用 Velocity 将所有信息存储在内存中。
缓存将是一系列命名值对,先是组,然后是人,以及每个人的时间戳。
问题是我们可以为每个 ping 直接写入速度缓存吗?或者这会导致锁定?我们是否应该先写入队列,然后从队列中更新缓存?
在我们更新缓存的同时,将有其他用户基于每个组请求信息。