我是否可以在不加载所有内容的情况下寻找PHP的序列化格式?

时间:2013-11-14 03:52:19

标签: php serialization

我有一个像这样的巨大阵列:

array(
  '5486215d2f02cc0f257ebda5125486215d2f02c' /* (SHA1) */ => array(
    'filename' => 'p_2486433.png',
    'directory' => 'aaaac2013'
  ),
  '95b23be7c97d532295b23be7c97d532295b23be' => array(
    'filename' => 'p_4857312.png',
    'directory' => 'aaaff2013'
  ),
  ...
)

目前我将其存储为JSON,这需要我加载整个结构,这是与serialize()共享的一个缺点。

是否存在维护某种索引的通用格式,以便我可以在不将整个内容加载到内存中的情况下查找我要查找的条目?

1 个答案:

答案 0 :(得分:0)

我看到有关创建基于文件的数据库的注释,但是如果这不起作用,您可以使用较大的文件并将其分成较小的部分,例如每个文件一个记录,然后分组一个目录。

当然,这样做有一些缺点,比如使用大量条目来淹没你的文件系统,从长远来看可能会产生一些问题。