是否有一种PHP序列化格式,我可以在不加载所有内容的情况下查找?
我有这样一个巨大的阵列:是否有一种PHP序列化格式,我可以在不加载所有内容的情况下查找?,php,serialization,Php,Serialization,我有这样一个巨大的阵列: array( '5486215d2f02cc0f257ebda5125486215d2f02c' /* (SHA1) */ => array( 'filename' => 'p_2486433.png', 'directory' => 'aaaac2013' ), '95b23be7c97d532295b23be7c97d532295b23be' => array( 'filename' => 'p_48
array(
'5486215d2f02cc0f257ebda5125486215d2f02c' /* (SHA1) */ => array(
'filename' => 'p_2486433.png',
'directory' => 'aaaac2013'
),
'95b23be7c97d532295b23be7c97d532295b23be' => array(
'filename' => 'p_4857312.png',
'directory' => 'aaaff2013'
),
...
)
目前我将其存储为JSON,这要求我加载整个结构,这是它与serialize()
共有的缺点
是否有一种通用格式可以维护某种索引,这样我就可以在不将整个内容加载到内存的情况下查找我要查找的条目?我看到了关于创建基于文件的数据库的评论,但是如果这样做不起作用,您可能会将较大的文件拆分为较小的部分,例如每个文件一条记录,然后分组有一个目录
当然,这样做也有一些缺点,比如用大量条目淹没文件系统,从长远来看可能会产生一些问题 那将是一个数据库。是的,但如果我查找“数据库”,就会出现MySQL和SQLite之类的东西。我正在寻找的那种“数据库”更像postmap创建的“db”数据库,但我不知道它是什么,也不知道是否有PHP库。postmap不是创建了Berkeley db吗?如果你不想让某些东西作为服务运行并使用TCP,那就离SQLite不远了。事实证明是在PHP中。你甚至可以通过文件系统中的符号链接来实现这一点!