-
-
18 Sep 2020 22:00:45 UTC
- Distribution: Apache-Session
- Module version: 1.01
- Source (raw)
- Browse (raw)
- Changes
- How to Contribute
- Repository
- Issues (12)
- Testers (200 / 0 / 0)
- Kwalitee
Bus factor: 2- 68.88% Coverage
- License: perl_5
- Perl: v5.5.0
- Activity
24 month- Tools
- Download (48.73KB)
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
and 1 contributors- Casey West <casey[at]geeknest.com>
- Dependencies
- Digest::MD5
- File::Temp
- IO::File
- Storable
- constant
- and possibly others
- Reverse dependencies
- CPAN Testers List
- Dependency graph
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
Module Install Instructions
To install Apache::Session, copy and paste the appropriate command in to your terminal.
cpanm Apache::Session
perl -MCPAN -e shell install Apache::Session
For more information on module installation, please visit the detailed CPAN module installation guide.