123456789101112131415161718192021222324252627282930313233343536 |
- <?php namespace App\Servers\Redis;
- use App\Facades\Servers\Redis\Redis;
- /**
- * 缓存上锁
- *
- */
- class RedisLock
- {
- /**
- * 上异步锁
- * @param string $key 上锁key名
- * @param mixed $value 上锁key值
- * @param int $ex 加上互斥锁时长,避免超时
- */
- public function lock($key,$value,$ex=20){
- // 上锁结果
- return Redis::set($key, $value,'EX',$ex,'NX');
- }
- /**
- * 释放异步锁
- * @param string $key 上锁key名
- * @param mixed $value 上锁key值
- *
- */
- public function unlock($key,$value){
- // 释放锁
- if( Redis::get($key) == $value ) return Redis::del($key);
- // 释放失败
- return true;
- }
- }
|