【问题标题】:Saving widget settings: php file vs db [apc installed]保存小部件设置:php 文件 vs db [已安装 apc]
【发布时间】:2011-04-01 21:59:59
【问题描述】:

在编辑的性能和可用性等方面会更快。

将小部件的设置存储在文件中或将其设置存储在数据库中。

小部件有大约 23 种设置。

文件中的设置会被保存为vars,并保存为php文件。

数据库中的设置将存储为序列化,然后检索。但在一次检索后,它们将作为数组缓存在 php 文件中约 5 分钟。所以基本上数据库类将缓存结果,然后使用它。你建议用什么比较好。

我还想给用户编辑小部件的选项,所以请给我一些答案。另一个问题是,如果我要检查文件系统上的成员拥有哪些小部件,文件名为 linke memberid_filename,我该怎么做?

【问题讨论】:

    标签: php mysql database performance file


    【解决方案1】:

    如果您要拥有多个设置副本(例如,如果您网站上的每个用户都可以自定义它),那么数据库绝对是正确的选择。

    将变量保存到 PHP 文件只有如果它没有从 Internet 接收输入是一个好主意。如果是这样,恶意用户可以使用引号分号转义 var,然后添加任意 PHP 命令,可以说比 SQL 注入更糟糕!哎呀。

    您建议的缓存设置有点奇怪。我并不是说它不会有帮助,但我也不确定它是否会有所帮助。一个称职的数据库(如 Postgres)无论如何都会缓存您的查询,并为您处理性能调整方面的问题。

    我在小部件上存储所有权数据的方式是通过一个表,我们称之为 widget_owners。每列将包含用户 ID、小部件 ID(重要的是假设您希望能够跟踪新小部件的所有权,而不会对数据库做丑陋的事情来支持它)和任何相关权限。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-29
      • 2015-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多