diff options
Diffstat (limited to 'fml/doc/ja/tutorial/internals/db.sgml')
| -rw-r--r-- | fml/doc/ja/tutorial/internals/db.sgml | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/fml/doc/ja/tutorial/internals/db.sgml b/fml/doc/ja/tutorial/internals/db.sgml new file mode 100644 index 00000000..f866c4f7 --- /dev/null +++ b/fml/doc/ja/tutorial/internals/db.sgml @@ -0,0 +1,87 @@ +<!-- + $FML$ +--> + +<chapter id="db"> + <title> + データベースの扱い + </title> + +<para> +永続的にデータを保持する方法はいくつかあります。 +LRU な何かモジュールを使っても良いのですが、 +大げさで、いまひとつしっくりこない気がします。 +</para> + +<para> +FML では、expire の仕方に応じて、 +代表的な2つのクラスを用意しています。 +</para> + + + +<sect1 id="db.Tie.JournaledFile"> + <title> + Tie::JournaledFile クラス + </title> + +<para> +一つの考えは、一つのファイルに append していくもの。 +このために +Tie::JournaledFile +クラスが用意されています。 +これは、 +データを蓄えるために用いています。 +つまり、追加もするし、参照もしたい場合ですが、 +追加しかしません。 +必要な時には過去のログを追跡できます。 +値は追加された値を last match で取り出します。 +</para> + +</sect1> + + +<sect1 id="db.File.CacheDir"> + <title> + File::CacheDir + </title> + +<para> +これは、あるディレクトリ(例: db/)に複数のファイルとして蓄える。 +db/ には 1 〜 100 のファイルがつくられ、順番に使われる。 +ぐるぐる回って使われ、上書きされていく。 +</para> + + +<para> +主に上限サイズを設けたログを蓄えたい場合に用いる。 +</para> + + +<para> +あるディレクトリに複数のファイルとして蓄えるが、 +古いものを expire していくことが可能なもの。 +db/ に YYYYMM 形式のファイル名でデータを蓄え、 +古いものは随時消去する。 +</para> + + +<para> +データを蓄えるために用いている。つまり、追加もするし、 +参照もしたい場合に使いますが、 +いつのまにか古いデータは消えていきます。 +</para> + + +<warning> +<para> +旧 RingBuffer, File::CacheDir に統合されました。 +</para> +</warning> + +</sect1> + + + + +</chapter> |
