【问题标题】:PHP: best way of 'saving' or caching variables to use, edit and recache at a later date?PHP:“保存”或缓存变量以供以后使用、编辑和重新缓存的最佳方式?
【发布时间】:2012-07-23 17:29:47
【问题描述】:

我的脚本要求我每 24 小时(因为新数据每 24 小时出现一次)在很长一段时间内(通常是一年或所以。我有一个包含其他数组、对象的数组,它还包含更多数组和对象,因此它使它成为一个非常复杂的数组。我想知道对于这个长期数据,哪个选项是最有效的选项。一个 sql 数据库,或将变量保存在一个 php 文件中,该文件可以包含在其他脚本中以供使用或 php APC。

【问题讨论】:

  • APC 是不可能的,因为一旦 apache 重新启动,您的数据就会丢失。您需要一个持久的数据存储——将数据写入磁盘。

标签: php database file caching


【解决方案1】:

您可以尝试使用 NoSQL 类型的数据库来存储您的复杂数据结构,因为这样您就不需要将它们分解成一个定义良好的模式。或者,如果您的数据结构对于 PHP 序列化是安全的,您可以将其存储在按日期键入的 SQL 数据库中。另一个建议可能是使用 memcached 或类似的。

如果存储在适合您的情况的文件系统中,我通常也会将数据结构存储在 JSON 编码的文件中。

【讨论】:

  • 文件特别适合长时间存放数据,例如在编号的文件夹中包含年、月、日或类似内容。
  • 您如何看待使用 var_export() 将数据导出到 php 文件中,然后该文件可以包含在其他脚本中?这会有效吗?
  • 这不会是高效的 IMO,因为 var_export 在尝试重新读取数据时对于 PHP 来说不是一种易于阅读的格式。如果您想沿着这条路线走,请查看 serialize() 函数跨度>
  • memcached 不合适——看起来他的目标是存储几个月的数据。内存缓存不提供任何持久性。
  • 是的,数据将存储超过 400 天
猜你喜欢
  • 1970-01-01
  • 2011-05-29
  • 1970-01-01
  • 2012-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-15
相关资源
最近更新 更多