Next: dbm.gdbm - GDBMインタフェース, Previous: dbm - 汎用DBMインタフェース, Up: ライブラリモジュール - ユーティリティ [Contents][Index]
dbm.fsdbm - ファイルシステムdbmImplements fsdbm. Extends dbm.
{dbm.fsdbm}
fsdbmは、直接ファイルシステムを扱うDBM実装です。
基本的には、ファイル名をキー、ファイルの内容を値として使います。
他のDBM実装とは違い、これは他の特別なライブラリに依存しません
(純粋にSchemeのみにより実装されています)。
したがって、他のDBM実装が使えないときでも、いつでも使うことが
できます。
明らかに、たくさんのエントリを持っていたり、エントリの追加や 削除が頻繁に起こるようなデータベースには向いていません。 エントリの数が相対的に小さく、キーが小さいのに値が大きいような 場合に向いています。
<fsdbm>のインスタンスに与えられるデータベース名は、
データを格納するディレクトリの名前として使われます。
データのファイルは、fsdbmインスタンスのpathの
サブディレクトリに格納され、キーによりハッシュされます。
キーに英数字でない文字がある場合はエンコードされます。
例えば、’:’は、_3aにエンコードされます。
キーがファイル名としては長すぎる場合は、いくつかに
分割され、その最後の文字列片以外はディレクトリ名として
使われます。長いキー名は問題を引き起こすかも知れないことに
注意して下さい。例えば、いくつかの古い’tar’コマンドは、256文字
を越える長いパス名を扱えません(それぞれのパスコンポーネント
ではなく、パス名全体でです)。
fsdbmは、全てのDBMプロトコルを実装しています
(dbm - 汎用DBMインタフェース参照)。
fsdbm特有の手続きというものはありません。
Next: dbm.gdbm - GDBMインタフェース, Previous: dbm - 汎用DBMインタフェース, Up: ライブラリモジュール - ユーティリティ [Contents][Index]