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]