自動クリーニング
有効時間が過ぎて無効になったキャッシュファイルは
自動的に削除されます。
$ramp->setCache(cache_dir, lifetime, cleaning);
第三引数の cleaning が不要なキャッシュファイルの
自動クリーニングの設定パラメータです。
cleaning には 0 以上の整数を指定できます。
cleaning の指定を省略すると、100 が指定されます。
たとえば cleaning に 100 を指定すると、
新たにキャッシュファイルを生成するたびに、
1/100 の確率で不要なキャッシュファイルを削除します。
200 を指定すると 1/200 の確率で削除します。
0 を指定すると自動クリーニングは行われません。
1 を指定すると、新たにキャッシュファイルを生成するたびに
不要なキャッシュファイルを削除します。
自動クリーニングは、
すべてのキャッシュファイルの有効時間を調べて
不要なファイルを削除するため、処理に多少の時間がかかります。
不要なキャッシュファイルが溜まる頻度とのバランスを考慮して、
適切な数値を設定して下さい。
(一般的には、20~200 が妥当とされます)
明示的に削除
次のメソッドは、id と group で指定したキャッシュファイルを削除します。
$ramp->removeCache(id);
$ramp->removeCache(id, group);
次のメソッドは、すべてのキャッシュファイルを削除します。
$ramp->cleanAllCache();
次のメソッドは、有効時間が過ぎたキャッシュファイルを
すべて削除します。
$ramp->cleanOldCache();
次のメソッドは、group を問わず
指定した id を持つすべてのキャッシュを削除します。
$ramp->cleanIDCache(id);
次のメソッドは、id を問わず
指定した group を持つすべてのキャッシュを削除します。
$ramp->cleanGroupCache();
$ramp->cleanGroupCache(group);
主な使用例は以下の通りです。
// キャッシュファイル1
$ramp->saveCache("cache", "id1");
// キャッシュファイル2
$ramp->saveCache("cache", "id1", "group1");
// キャッシュファイル3
$ramp->saveCache("cache", "id2");
// キャッシュファイル4
$ramp->saveCache("cache", "id2", "group1");
// 次の例では、「id = "id1", group の指定なし」で
// 生成されたキャッシュ(キャッシュファイル1)が
// 削除される。
$ramp->removeCache("id1");
// 次の例では、group を問わず「id = "id1"」で
// 生成されたキャッシュ(キャッシュファイル1、2)が
// 削除される。
$ramp->cleanIDCache("id1");
// 次の例では、id を問わず「group の指定なし」で
// 生成されたキャッシュ(キャッシュファイル1、3)が
// 削除される。
$ramp->cleanGroupCache();
// 次の例では、id を問わず「group = "group1"」で
// 生成されたキャッシュ(キャッシュファイル2、4)が
// 削除される。
$ramp->cleanGroupCache("group1");