php - 保存小部件设置: php file vs db [apc installed]

标签 php mysql database performance file

在性能和编辑可用性等方面什么会更快

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

该小部件大约有 23 种设置。

文件中的设置将存储为 vars 并保存为 php 文件。

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

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

最佳答案

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

如果 PHP 文件不接收来自互联网的输入,则将变量保存到 PHP 文件是一个好主意。如果是这样,恶意用户可以使用引号分号转义 var,然后添加任意 PHP 命令,这可能比 SQL 注入(inject)更糟糕!哎呀。

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

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

关于php - 保存小部件设置: php file vs db [apc installed],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5519323/

相关文章:

php - 过期链接及其存储位置

php - OpenTBS 无法在带有 PHP5.5.9 的 Ubuntu 14.04 上运行

php - 执行更新查询后受影响的行在 mysql 中返回 0

mysql - SQL Distinct 子句不起作用?

javascript - 使用自动提交过帐值不起作用

PHP嵌套foreach循环显示表格

mysql - 如何在 MariaDB 或 MySQL 中创建文本类型的外键?

mysql - 更改列排序规则 - 安全吗?

database - 为什么我不能恢复 MYSQL 转储文件?

mongodb - Mongoose 在两级种群中选择