根据每个请求更新“ last_active”

时间:2018-07-04 10:49:36

标签: php mysql codeigniter

我正在制作一个会话应用程序,因为在某个特定时间每个用户帐户只允许一个会话。在此过程中,我认为我需要在用户每次向服务器发送请求以更新last_active值时更新数据库。当另一个用户尝试在其他地方使用同一帐户登录时,将使用此值。如果last_active仍然太近,我将不允许登录。但是,如果15分钟后以前的登录用户处于非活动状态(例如不向服务器发送请求),那么我将让新登录的用户进入并踢出先前的用户。

我只是想知道这种方法是否会对服务器造成过多负载。

2 个答案:

答案 0 :(得分:1)

如果您具有root用户访问权限,则可以将最后一个活动的唯一会话ID以及其他内容存储在与内存相关的存储中,例如redis,APC,memcached。

如果您使用codeigniter,请查看this

我个人使用php快速缓存库,您还可以在this site

中查看用法

答案 1 :(得分:0)

如果服务器不能处理频繁的请求,这取决于服务器的处理速度,这可能导致服务器有时停止。

解决方案: 最好使用“ Redis”之类的缓存工具。

相关问题