我正在做一个单一的会话应用程序,因为在某个特定的时间,每个用户帐户只允许有一个会话。在这个过程中,每次用户向服务器发送更新数据库的请求时,我都需要更新数据库 last_active
价值观。当另一个用户尝试在其他地方使用相同的帐户登录时,将使用此值。如果 last_active
仍然太近,我将不允许登录。但是,如果前一个登录的用户在15分钟左右后处于非活动状态(比如不向服务器发送请求),我将让新登录的用户进入并踢出前一个用户。
我只是想知道,这种方法是否会给服务器带来太多的负载。
我正在做一个单一的会话应用程序,因为在某个特定的时间,每个用户帐户只允许有一个会话。在这个过程中,每次用户向服务器发送更新数据库的请求时,我都需要更新数据库 last_active
价值观。当另一个用户尝试在其他地方使用相同的帐户登录时,将使用此值。如果 last_active
仍然太近,我将不允许登录。但是,如果前一个登录的用户在15分钟左右后处于非活动状态(比如不向服务器发送请求),我将让新登录的用户进入并踢出前一个用户。
我只是想知道,这种方法是否会给服务器带来太多的负载。
2条答案
按热度按时间bvhaajcl1#
这取决于你的服务器,如果你的服务器不能处理频繁的请求,你的服务器多久处理一个请求,这个结果你的服务器可能会停止一段时间。
解决方案:最好使用像“redis”这样的缓存工具。
qzwqbdag2#
如果您有根访问权限,则可以将最后一个活动的、唯一的会话id和其他内容存储在与内存相关的存储上,如redis、apc、memcached。
如果你使用codeigniter,看看这个
我个人,使用php的fastcache库,你也可以在这个网站上看到它的用法