1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- <?php
- namespace App\Services;
- use App\Support\RedisModel;
- class RdsLockService
- {
- /**
- * 获取锁键
- * @param $param
- * @return string
- */
- public static function getRdsLockKey($param)
- {
- $lockPre = 'LOCK_';
- $paramStr = '';
- foreach ($param as $item) {
- if (empty($paramStr)) {
- $paramStr = $item;
- } else {
- $paramStr .= ('-'.$item);
- }
- }
- return $lockPre.$paramStr;
- }
- public static function addRdsLock($lockKey)
- {
- $lockRes = RedisModel::setnx($lockKey, 1);
- if ($lockRes) RedisModel::expire($lockKey, 5); # 设定锁的过期时间
- return $lockRes;
- }
- public static function delRdsLock($lockKey)
- {
- RedisModel::del($lockKey);
- }
- }
|