永続的にデータを保持する方法はいくつかあります。いい加減なものから大真 面目なものまでいろいろです。大真面目に考えると、LRU などの機能を持った モジュールを利用して作るのかもしれませんが、やや大げさで、いまひとつしっ くりこない気がします。つまり、そこまで真面目に virtual memory のような 実装をしなくてもよいのでは?という気がします。それに、もし切実に必要な ら、なんらかの DBMS [1] を使うべきでしょう。
そういったわけで fml8 では、expire の仕方に応じて2つのデータ保持ク ラスを用意しています。それは「サイズを気にせず、時間を区切って expire するのか?」もしくは「使用する領域のサイズをある程度気にするか?」の2 種類です。
Warning |
現在では Tie::JournaledFile クラス を利用した Tie::JournaledDir クラス もあるので、 将来 Tie::JournaledDir もしくは File::CacheDir かのいづれかは 不必要になるかも知れません。 また、インターフェイスの違いから適宜使い分けるのかもしれません。 2002/08: File::CacheDir は改名し、なくす方向で考えています。 そもそも File::CacheDir は FML/Process/Kernel.pm と FML/Filter/TrafficMonitor.pm でしか使ってません。 しかも、 TrafficMonitor.pm は事実上未完成なので、まだ変更が可能です。 実際 FML::Process::Kernel の var/mail/ でしか使っていないので、 File::CacheDir を使わないようにすることが可能でしょう。 |
[1] | DBMS = DataBase Management System |
author's homepage is www.fml.org/home/fukachan/.
Also, visit nuinui's world :) at www.nuinui.net.
For questions about FML, e-mail <fml-bugs@fml.org>.