tc
Pythonのモジュールで東京キャビネットを使用しています。データを TDB 形式で保存します。書き込み中だけテーブルがブロックされると思っていました。残念ながら、ファイルが「ライターモード」で開かれている場合、他のプロセスがそのファイルから読み取ることができないことがわかります。それは標準的な動作、ラッパーの問題ですか、それとも何か間違っていますか? または、操作がブロックされる他のケースがあるのでしょうか?
質問する
606 次
1 に答える
5
仕様によると:
Tokyo Cabinet では、データベースへの接続方法として「リーダー」と「ライター」の 2 つのモードを用意しています。リーダーは検索を実行できますが、保存も削除も実行できません。ライターはすべてのアクセス方法を実行できます。ファイルロックによるデータベース接続時に、プロセス間の排他制御を行います。ライターがデータベースに接続されている間は、リーダーもライターも接続できません。リーダーがデータベースに接続している間、他のリーダーは接続できますが、ライターは接続できません。この仕組みにより、マルチタスク環境での同時接続でデータの一貫性が保証されます。
書き込み操作ごとにライターを作成して閉じるか、Tokyo Tyrant を使用して同時アクセスを提供します。
于 2009-11-18T06:35:15.187 に答える