For Gauche 0.9.15Search (procedure/syntax/module):

Next: , Previous: , Up: ライブラリモジュール - ユーティリティ   [Contents][Index]

12.29 dbm.fsdbm - ファイルシステムdbm

Module: dbm.fsdbm

Implements fsdbm. Extends dbm.

Class: <fsdbm>

{dbm.fsdbm} fsdbmは、直接ファイルシステムを扱うDBM実装です。 基本的には、ファイル名をキー、ファイルの内容を値として使います。 他のDBM実装とは違い、これは他の特別なライブラリに依存しません (純粋にSchemeのみにより実装されています)。 したがって、他のDBM実装が使えないときでも、いつでも使うことが できます。

明らかに、たくさんのエントリを持っていたり、エントリの追加や 削除が頻繁に起こるようなデータベースには向いていません。 エントリの数が相対的に小さく、キーが小さいのに値が大きいような 場合に向いています。

<fsdbm>のインスタンスに与えられるデータベース名は、 データを格納するディレクトリの名前として使われます。

データのファイルは、fsdbmインスタンスのpathの サブディレクトリに格納され、キーによりハッシュされます。 キーに英数字でない文字がある場合はエンコードされます。 例えば、’:’は、_3aにエンコードされます。 キーがファイル名としては長すぎる場合は、いくつかに 分割され、その最後の文字列片以外はディレクトリ名として 使われます。長いキー名は問題を引き起こすかも知れないことに 注意して下さい。例えば、いくつかの古い’tar’コマンドは、256文字 を越える長いパス名を扱えません(それぞれのパスコンポーネント ではなく、パス名全体でです)。

fsdbmは、全てのDBMプロトコルを実装しています (dbm - 汎用DBMインタフェース参照)。 fsdbm特有の手続きというものはありません。


Next: , Previous: , Up: ライブラリモジュール - ユーティリティ   [Contents][Index]


For Gauche 0.9.15Search (procedure/syntax/module):