From a49e0fee73fc5f38dee595c4c0896fa7660dd2a8 Mon Sep 17 00:00:00 2001 From: fukachan Date: Sun, 5 Aug 2001 12:33:49 +0000 Subject: how to store data persistently --- fml/doc/ja/tutorial/book.sgml | 4 +- fml/doc/ja/tutorial/include/chapters.ent | 4 +- fml/doc/ja/tutorial/internals/db.sgml | 87 ++++++++++++++++++++++++++++++++ fml/doc/ja/tutorial/modules.sgml | 64 ----------------------- 4 files changed, 91 insertions(+), 68 deletions(-) create mode 100644 fml/doc/ja/tutorial/internals/db.sgml delete mode 100644 fml/doc/ja/tutorial/modules.sgml (limited to 'fml/doc/ja/tutorial') diff --git a/fml/doc/ja/tutorial/book.sgml b/fml/doc/ja/tutorial/book.sgml index 98309b4a..6d304491 100644 --- a/fml/doc/ja/tutorial/book.sgml +++ b/fml/doc/ja/tutorial/book.sgml @@ -2,7 +2,7 @@ This is an sgml using DocBook dtd. Use sgmltools version 2.0.x or above to generate various output formats. -$FML: book.sgml,v 1.10 2001/05/17 04:00:43 fukachan Exp $ +$FML: book.sgml,v 1.11 2001/06/10 10:22:44 fukachan Exp $ --> diff --git a/fml/doc/ja/tutorial/include/chapters.ent b/fml/doc/ja/tutorial/include/chapters.ent index 3073f4ec..7014f256 100644 --- a/fml/doc/ja/tutorial/include/chapters.ent +++ b/fml/doc/ja/tutorial/include/chapters.ent @@ -1,5 +1,5 @@ @@ -30,7 +30,7 @@ - + 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 @@ + + + + + データベースの扱い + + + +永続的にデータを保持する方法はいくつかあります。 +LRU な何かモジュールを使っても良いのですが、 +大げさで、いまひとつしっくりこない気がします。 + + + +FML では、expire の仕方に応じて、 +代表的な2つのクラスを用意しています。 + + + + + + + Tie::JournaledFile クラス + + + +一つの考えは、一つのファイルに append していくもの。 +このために +Tie::JournaledFile +クラスが用意されています。 +これは、 +データを蓄えるために用いています。 +つまり、追加もするし、参照もしたい場合ですが、 +追加しかしません。 +必要な時には過去のログを追跡できます。 +値は追加された値を last match で取り出します。 + + + + + + + + File::CacheDir + + + +これは、あるディレクトリ(例: db/)に複数のファイルとして蓄える。 +db/ には 1 〜 100 のファイルがつくられ、順番に使われる。 +ぐるぐる回って使われ、上書きされていく。 + + + + +主に上限サイズを設けたログを蓄えたい場合に用いる。 + + + + +あるディレクトリに複数のファイルとして蓄えるが、 +古いものを expire していくことが可能なもの。 +db/ に YYYYMM 形式のファイル名でデータを蓄え、 +古いものは随時消去する。 + + + + +データを蓄えるために用いている。つまり、追加もするし、 +参照もしたい場合に使いますが、 +いつのまにか古いデータは消えていきます。 + + + + + +旧 RingBuffer, File::CacheDir に統合されました。 + + + + + + + + + diff --git a/fml/doc/ja/tutorial/modules.sgml b/fml/doc/ja/tutorial/modules.sgml deleted file mode 100644 index bb9602c2..00000000 --- a/fml/doc/ja/tutorial/modules.sgml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - モジュールについて2、3のメモ - - - - - - File::* クラス - - - -persistent なデータの保持の方法はいくつかある。 -LRU な何かモジュールを使っても良いが、 -大げさで、いまひとつしっくりこない。 - - - -一つの考えは、一つのファイルに append していくもの。 -Log Structured File スタイル? -これは、 -データを蓄えるために用いている。つまり、追加もするし、 -参照もしたい場合。 - - - -File::CacheDir (旧 RingBuffer, File::CacheDir に統合された) -もある。 - - - -これは、あるディレクトリ(例: db/)に複数のファイルとして蓄える。 -db/ には 1 〜 100 のファイルがつくられ、順番に使われる。 -ぐるぐる回って使われ、上書きされていく。 - - - -主に上限サイズを設けたログを蓄えたい場合に用いる。 - - - -File::CacheDir - - - -あるディレクトリに複数のファイルとして蓄えるが、 -古いものを expire していくことが可能なもの。 -db/ に YYYYMM 形式のファイル名でデータを蓄え、 -古いものは随時消去する。 - - - -データを蓄えるために用いている。つまり、追加もするし、 -参照もしたい場合。 - - - - - - -- cgit v1.2.1