php - 在每个页面上进行检查时要使用 session 或数据库查询?

标签 php mysql database session optimization

我的应用程序必须检查用户表中的多个数据才能创建页面。

不仅仅是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/

相关文章:

php - 将函数的结果分配给 PHP 类中的变量?面向对象的怪异

php - 创建 amazon aws s3 预签名 url PHP

php - DQL 允许空连接吗?

PHP MYSQL 如果字段等于检查回显

iphone - 我的网站是否需要 SSL 证书才能获取 iPhone 应用程序的信息?

php - 如何在 Codeigniter 中查询 2 表数据库

javascript - 从 Laravel 数据库中实时提取数据

mysql - 使用逗号分隔列表在列中查找逗号分隔值

php - 如何从mysql数据库中删除缩略图

mysql - 我可以将使用 Dreamweaver 创建的网页转换为 Webmatrix 项目吗?