-2

drupal用のモジュールをコーディングしています。その中で、キーが「string」で値が「floats」である大きな連想配列(約1000エントリ)があります。

eg. $array = array('hello' => 122.23, 'name' => 334.3 ....)

シリアル化してデータベースに保存することを考えていましたが、配列のサイズは動的なので、アクセス時間を短縮するためにファイルに保存することを考えました。

ファイルを作成し、コンテンツを書き込み、ファイルから配列を読み取るために、.moduleでどのdrupal7 api関数を使用する必要がありますか?また、同等のphpファイル処理関数よりも優れていますか?

注-この配列は頻繁には使用されないため、永続変数として格納したくありません。

4

1 に答える 1

0

個人的には気にせず、variable_set()を使用して永続変数として追加するだけです。変数テーブルはlongblobを使用しているため、問題があることはわかりません。また、データはすばやくアクセスできるようにキャッシュされています。

ファイルを作成してそのように保存したい場合は、この方法でファイルを作成しても、http ://api.drupal.org/api/drupal/includes !file.inc/group/file/7ですべての関数を見つけることができます。すべてのファイルがfile_managedテーブルを通過するため、データベースへの少なくとも1つのヒットを意味します。一方、永続変数として保存する場合、データはブートストラッププロセス中に既にプルされているため、データベースにクエリを実行しなくても、モジュールでデータを使用できます。

于 2012-07-03T11:33:46.833 に答える