我正在为drupal编写一个模块。在那里我有一个大的关联数组(大约1000个条目),其键为'string',值为'floats'。
eg. $array = array('hello' => 122.23, 'name' => 334.3 ....)
我想通过序列化将它存储在数据库中..但是数组大小是动态的,所以我想把它存储在一个文件中以减少访问时间..
我应该在我的.module中使用哪个drupal7 api函数来创建文件,编写内容并从文件中读取数组,以及它们与等效的php文件处理函数相比如何更好?
注意 - 此数组不经常使用,因此我不想将其存储为持久变量。
答案 0 :(得分:0)
我个人不会打扰,我只想使用variable_set()将其添加为持久变量。变量表使用longblob,所以我看不出有问题,数据也被缓存以便快速访问。
如果你想创建一个文件并以这种方式存储它,你可以找到http://api.drupal.org/api/drupal/includes!file.inc/group/file/7的所有函数,虽然这样做意味着至少有一次命中数据库,因为所有文件都通过file_managed表。而如果将其存储为持久变量,则数据已经可供模块使用而无需查询数据库,因为在Bootstrap过程中已经提取了数据。