Search:

Search all manuals
Search this manual
Manual
Couchbase Server 1.8 マニュアル
Additional Resources
Community Wiki
Community Forums
Couchbase SDKs
Parent Section
9.2 ベストプラクティス
Chapter Sections
Chapters

9.2.7. ロック

勧告的ロックは、希少な資源へのアクセスを制御するために役立ちます。例えばバックエンドやリモートシステムからの情報の取得には時間がかかり、大量のリソースを消費する可能性があります。全てのクライアントがバックエンドシステムにアクセスすることを許可する代わりに、アドバイザリロックを作成して一度にクライアントを1つだけバックエンドに接続可能とすることができます。

CouchbaseあるいはMemcachedでは、有効期限をデータアイテムに設定し、"add"と"delete"コマンドを使ってアイテムにアクセスすることでアドバイザリロックを作成できます。"add"と"delete"コマンドはアトミックであり、ただ1つのクライアントだけがアドバイザリロックの所有者となることができます。

先に(有効期限を指定して)アイテムのロックを"add"しようとしたクライアントが成功します。同じロックアイテムに対し"add"コマンドを実行したその他のクライアントにはエラーの結果が返り、別のクライアントがそのアイテムのロックを所有していることが分かります。現在のロック所有者がロックを開放するには、明示的に"delete"コマンドを対象のロックアイテムに送信します。

ロックを所有しているクライアントがクラッシュすると、有効期限のタイムアウト後に、ロックをポーリング("add"を利用)している次のクライアントからロック可能になります。