cybercog/php-db-locker

PHP 应用层数据库锁定机制

dev-master 2024-07-19 15:46 UTC

This package is auto-updated.

Last update: 2024-09-19 16:14:29 UTC


README

cog-php-db-locker

Releases License

介绍

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 中。

许可证

🌟 随时间推移的星标

Stargazers over time

关于 CyberCog

CyberCog 是一个爱好者的社交联盟。研究产品与软件开发中的最佳解决方案是我们的激情。

CyberCog