どのインタフェースが利用可能かに依存します。使って直接開く方法は安全ではありません。小さくなければならず、キー衝突が生じた場合に、稀にデータベースを更新することができなくなることを意味します。(複数の同時読み出しアクセスは安全です)。あるプログラムが書き込みのために開かれたシェルフを持っているとき、他のプログラムはそのシェルフを読み書きのために開いてはいけません。バージョン間で異なり、使われているデータベースの実装について知識が必要となります。オブジェクト内にpickle化された値を保持します。パラメータで指定することができます。ドキュメントを参照してください。この機能により、可変のエントリに対して自然な操作が可能になりますが、さらに多くのメモリを消費し、辞書をファイルと同期して閉じる際に長い時間がかかるようになります。対して使われる前にキーをエンコードするのに使用されるエンコーディングです。オブジェクトは、コンテキストマネージャとしても使用できます。ブロックが終了する際に、自動的に閉じられます。エンコードされていました。コンテキストマネージャーサポートが追加されました。メソッドを外部に提供しています。モジュールでは利用可能ですが、他のデータベースモジュールでは利用できません。オブジェクトは上記のメソッドをサポートしていなくてはなりません。いずれかを呼び出して得られるオブジェクトが条件を満たしています。クラスにおけるパラメータと同様に解釈されます。