id:kazuhooku さんがかつて作った KeyedMutex を memcached でやってしまおうと言うのがこのモジュールの目的です。 KeyedMutex の場合は、keyedmutexd と言うそれ専用の daemon を立ち上げなければいけませんが、このモジュールの場合は既存のシステムに memcached があれば普通に使えます。 trial を 0 にすると timeout で lock が expire するか、誰かが lock を開放するまで延々と lock の獲得が出来るまでビジーループします。一方で trial を有限の正整数とすると、その試行回数で lock が獲得出来ない場合は即座に諦めます。 正規の使い方としては lock を獲得出来るのが同時に1クライアントのみで他はそれが開放されるまで待たせると言うのが正解ですが、ちょっと変わった使い方としては、例えば