我正在使用laravel运行PHP应用程序。我应该每次都使用sql查找来获取用户信息,还是应该在查找一次后将其存储在会话/缓存中并从那里拉出来?除非用户更改信息,否则信息不会经常更改,因此我希望从效率角度来看待它。
答案 0 :(得分:1)
如果您正在谈论当前登录的用户信息,请将其留给Laravel
。根据您的配置Laravel
将保留数据,并允许您使用统一的API
轻松访问数据。
身份验证配置文件位于 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时间的损失