会话或数据库查找?

时间:2014-06-20 17:03:12

标签: php mysql laravel

我正在使用laravel运行PHP应用程序。我应该每次都使用sql查找来获取用户信息,还是应该在查找一次后将其存储在会话/缓存中并从那里拉出来?除非用户更改信息,否则信息不会经常更改,因此我希望从效率角度来看待它。

2 个答案:

答案 0 :(得分:1)

如果您正在谈论当前登录的用户信息,请将其留给Laravel。根据您的配置Laravel将保留数据,并允许您使用统一的API轻松访问数据。

  

Check Configuration

     

身份验证配置文件位于   app / config / auth.php,其中包含几个记录良好的选项   用于调整身份验证设施的行为。

     

默认情况下,Laravel在User中包含app/models模型   可以与默认Eloquent身份验证一起使用的目录   驱动程序。如果您的应用程序不使用Eloquent,您可以使用   使用Laravel查询构建器的数据库身份验证驱动程序。

要检索用户/用户数据,您可以使用以下内容:

$user = Auth::user();
$userEmail = Auth::user()->email;

Laravel将使用session存储用户id,原始数据将存储在数据库中,因此您无需担心用户数据。只需查看文档,然后Laravel执行此操作。

答案 1 :(得分:-2)

我个人使用数据库方式。有些人不知道这一点,但会议实际上是公开的。因此,该会话中的任何数据都可以是红色的会话黑客。

现在这种情况并不经常发生(据我们所知),但确实如此。通过id查找用户对数据库来说并不难。

坚持数据库安全的原因

数据库增益超过了cpu时间的损失