table of contents
Apache::Session::Lock::MySQL(3pm) | User Contributed Perl Documentation | Apache::Session::Lock::MySQL(3pm) |
NAME¶
Apache::Session::Lock::MySQL - Provides mutual exclusion using MySQL
SYNOPSIS¶
use Apache::Session::Lock::MySQL; my $locker = Apache::Session::Lock::MySQL->new(); $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);
DESCRIPTION¶
Apache::Session::Lock::MySQL fulfills the locking interface of Apache::Session. Mutual exclusion is achieved through the use of MySQL's GET_LOCK and RELEASE_LOCK functions. MySQL does not support the notion of read and write locks, so this module only supports exclusive locks. When you request a shared read lock, it is instead promoted to an exclusive write lock.
CONFIGURATION¶
The module must know how to connect to your MySQL database to acquire locks. You must provide a datasource name, a user name, and a password. These options are passed in the usual Apache::Session style, and are very similar to the options for Apache::Session::Store::MySQL. Example:
tie %hash, 'Apache::Session::MySQL', $id, { LockDataSource => 'dbi:mysql:database', LockUserName => 'database_user', LockPassword => 'K00l' };
Instead, you may pass in an already opened DBI handle to your database.
tie %hash, 'Apache::Session::MySQL', $id, { LockHandle => $dbh };
AUTHOR¶
This module was written by Jeffrey William Baker <jwbaker@acm.org>.
SEE ALSO¶
Apache::Session
2020-09-19 | perl v5.40.0 |