cybercog / php-db-locker
PHP 应用层数据库锁定机制
dev-master
2024-07-19 15:46 UTC
Requires
- php: ^8.1
- ext-pdo: *
Requires (Dev)
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2024-09-19 16:14:29 UTC
README
介绍
PHP 应用层数据库锁定机制,用于实现并发控制模式。
支持的驱动程序
- Postgres
安装
通过 Composer 引入包。
composer require cybercog/php-db-locker
用法
Postgres
事务级建议锁
$dbConnection = new PDO($dsn, $username, $password); $postgresLocker = new PostgresAdvisoryLocker(); $postgresLockId = PostgresLockId::fromLockId(new LockId('user', '4')); $dbConnection->beginTransaction(); $isLockAcquired = $postgresLocker->acquireLockWithinTransaction($dbConnection, $postgresLockId); if ($isLockAcquired) { // Execute logic if lock was successful } else { // Execute logic if lock acquisition has been failed } $dbConnection->commit();
会话级建议锁
$dbConnection = new PDO($dsn, $username, $password); $postgresLocker = new PostgresAdvisoryLocker(); $postgresLockId = PostgresLockId::fromLockId(new LockId('user', '4')); $isLockAcquired = $postgresLocker->acquireLock($dbConnection, $postgresLockId); if ($isLockAcquired) { // Execute logic if lock was successful } else { // Execute logic if lock acquisition has been failed } $postgresLocker->releaseLock($dbConnection, $postgresLockId);
变更日志
每个版本的详细变更记录在 CHANGELOG.md 中。
许可证
PHP DB Locker
包是开源软件,由 Anton Komarev 根据 MIT 许可证 发布。
🌟 随时间推移的星标
关于 CyberCog
CyberCog 是一个爱好者的社交联盟。研究产品与软件开发中的最佳解决方案是我们的激情。