【问题标题】:Is storing too much data in sessions good in Laravel PHP?在 Laravel PHP 中的会话中存储太多数据好吗?
【发布时间】:2017-09-16 12:38:07
【问题描述】:

我正在做一个项目,我正在使用 Laravel 5.4 构建一个网络应用程序。 我在 Sessions 中存储 6 个字符串值,这些值在 5 分钟后被销毁,并且 2 个数组每个都有 5-6 个字符串字段,这些字段在用户注销或 30 分钟后被销毁。

对于 Session 而言,这些数据是否被认为过多?我打算使用 VPS 进行托管。

你们能建议我该怎么做吗?我是保持这种方式还是改变一些东西。

我的会话当前存储在一个文件中,如果我将它存储在数据库中对我有好处吗?

请帮帮我,我是菜鸟。

在此先感谢 :) 你们真的很有帮助 :)

【问题讨论】:

  • 您是否要求“最佳实践”?传统上,这类问题在这里做得不好。
  • 有点像我想我只是想解决我的问题。
  • 这类问题的问题在于答案总是“视情况而定”
  • 取决于什么?这就是我想知道的,这样我就可以避免将来在我的 Web 应用程序中出现问题。
  • 这取决于很多事情,其中​​大部分我们从这个问题中不知道,然后转移到意见。不幸的是,Thew 不会吸引到最佳答案,因为它与 QA 风格的意图并不相符。

标签: php laravel session


【解决方案1】:

我想存储这么多数据没问题。既然你提到它会在 5 分钟左右到期。我还建议使用 redis 或 memcached 进行会话处理。你可以阅读文档here

【讨论】:

  • 感谢您的回答好友 :) 是的,最长会话时间仅为 30 分钟。
【解决方案2】:

在会话中存储过多的值会稍微影响页面的加载时间!这很常见,但是您要存储在会话中的内容确实与您的业务逻辑有任何重要关系(即它具有唯一的 id 来识别用户等)然后,存储在会话中就可以了!我没有使用过 laravel 框架,但是我有一些 codelgniter 的经验。 就在数据库中存储会话数据而言,它给出了处理会话数据的系统方法。如果您将其存储在文件中,那么您需要额外的代码来评估特定的事物表单文件。 为什么不使用“COOKIE”将会话数据存储在其中,毕竟它存储在客户端! session 将其存储在服务器端

【讨论】:

  • 我希望我的数据安全且远离用户,这就是我使用会话而不是 cookie 的原因。顺便说一句,感谢您的回答:)
最近更新 更多