在PHP中存储用户首选项的最佳位置应该是:数据库或文件


What should be the best place to store user preferences in PHP: database or files?

我正在使用PHP开发一个网站,我想知道将用户首选项(例如语言,背景图像等)存储在数据库中还是存储在public_html文件夹外的文本文件中(以防止公众访问信息)更好。

我问这个是因为我担心PHP读取文件和向数据库发送查询所需的时间,由于多个用户发送的查询量,它也可能会减慢数据库的速度。

通常我会将用户定义的选项存储在数据库中。

一些提示:

  • 我只在请求中加载它们一次
  • 有时,如果我必须使用关系数据库,我会将用户的所有设置存储在 blob 中。这很脏,但我可以轻松添加新属性
  • 在高流量网站中,我会使用 MVC 框架的缓存机制缓存检索到的对象
  • 如果缓存到文件系统成为问题,您可以使用 Redis 等数据库、MemCached

通常我们不会将文件放入数据库中,而是阅读此内容并与您的情况进行比较: https://stackoverflow.com/a/22804/1529139 和 https://stackoverflow.com/a/3751/1529139

抱歉语言问题..

这完全取决于您的网站行为。您的项目在哪种类型中完成。如果您使用的是 MVC 结构,请在引导 php 页面的位置创建任何目录。表示主页。并将您的源存储在那个地方。

然后制作设置菜单(页面),这将有助于动态更改源标识和位置路径。

最好在

数据库中存储,特别是如果以后必须在服务器之间加载平衡。