对于我的登录系统,我需要检索一些用户数据,从用户名到会话& “禁止状态”,用于检查用户是否被暂停.
我已经看到一些系统可以在每次加载时从用户检索这些数据.我的问题是:这算作对我的服务器造成不必要的压力吗?
还是应该将这些数据存储在$_SESSION中?但是它不会更新,而且我也不知道如何检查禁令状态.
谢谢!
解决方法:
单个数据库查询来检索每个请求上的用户信息应该很好-它非常快,并且不会对服务器造成太大影响.您以后总是可以添加缓存(例如APC或memcached),可以告诉缓存每10分钟过期一次,但是经常需要检查是否禁止了该用户.但是除非您的网站获得大量流量并且您实际上注意到性能问题(换句话说,避免使用premature optimization),否则我不会为之烦恼.
编辑:
如果对用户的禁止状态的更改总是通过您的应用而不是直接在数据库中发生,那么您可以设置一些代码,以在禁止用户清除缓存时运行.这样,该禁令生效之前就不会有10分钟的延迟(或任何缓存过期时间).但是正如我在上面说的那样,您可能一开始就不必担心缓存.
标签:session,mysql,php
来源: https://codeday.me/bug/20191029/1957452.html