by Hippo2000(2000/8/8)
日本語チョウ訳シリーズ Apache::Session::Lock::MySQLモジュールなのです。
Apache::Session::Lock::MySQL - MySQLを使って相互排他を提供します
use Apache::Session::Lock::MySQL;
my $locker = new Apache::Session::Lock::MySQL;
$locker->acquire_read_lock($ref); $locker->acquire_write_lock($ref); $locker->release_read_lock($ref); $locker->release_write_lock($ref); $locker->release_all_locks($ref);
Apache::Session::Lock::MySQLはロックのApache::Sessionのインターフェースを満たします。相互排他はMySQLのGET_LOCKとRELEASE_LOCK関数を使うことによって実現されます。MySQL は読み込み(read)と書きこみ(write)ロックの表記法をサポートしていません。そのためこのモジュールは占有ロックだけをサポートします。共有読み込みロックを要求すると、代りに排他書きこみロックさせます。
このモジュールはモジュールはロックを取得するMySQLデータベースへの接続方法を知らなければなりません。データソース名、ユーザ名そしてパスワードを指定しなければいけません。これらのオプションは通常のApache::Session形式で渡され、Apache::Session::Store::MySQLのためのオプションととてもよく似ています。例:
tie %hash, 'Apache::Session::MySQL', $id, {
LockDataSource => 'dbi:mysql:database',
LockUserName => 'database_user',
LockPassword => 'K00l'
};
代りに、既にデータベースにオープンされているDBIハンドルを渡すことが出来ます:
tie %hash, 'Apache::Session::MySQL', $id, {
LockHandle => $dbh
};
This module was written by Jeffrey William Baker <jwbaker@acm.org>.
ご意見、ご質問はこちらの掲示板で受け付けています。
またメールは河馬屋(Nifty)にお願いします。