我的应用程序必须检查用户表中的多个数据才能创建页面。
不仅仅是id和password,还有其他数据,目前大概有7部分信息。
此检查在每个页面上进行。
我是在 session 中加载所有这些数据,并从那里检查它,还是在每个页面请求时触发查询?不用说,还有其他查询正在进行中。
关于优化,什么是更好的做法?
最佳答案
您应该从数据库中调用一次数据并将其存储在 session 变量中。我通常在用户首次登录时将我的 user_id、用户名、电子邮件、用户名和 access_levels 放在 session 中,然后我可以在用户登录时在我的应用程序中的任何位置调用它们。
不要在 session 中存储密码,因为不需要。
您还可以创建一个名为 logged_in 的变量并将其设置为 true 或 false 以进行测试(即:如果用户已登录,则显示“帐户菜单”,否则显示“注册”菜单)。
[更新]
这里是 MySQL 缓存的优点/缺点的链接。
Scroll down to the bottom before the comments.
这有点取决于您的站点,对于小型站点查询缓存会很好,但如果您想开发更具可扩展性的应用程序,则必须牢记速度。
如何判断是否启用了 mysql 查询缓存:[ LINK ]
关于php - 在每个页面上进行检查时要使用 session 或数据库查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7039134/