Laravel中redis加分布式锁

  • 使用Redis的setnx可以实现一个分布式锁
			//加redis锁
       		$token_operation = Uuid::uuid1();
            $lock_operation_name = "redis_lock" . $user->id;
            $lock_operation = Redis::set($lock_operation_name, $token_operation, "nx", "ex", 5);
            $script_operation = '
                        if redis.call("get",KEYS[1]) == ARGV[1]
                        then
                            return redis.call("del",KEYS[1])
                        else
                            return 0
                        end
                            ';
       if ($lock_operation) {
        //todo something 

		// 释放锁
		Redis::eval($script_operation, '1', $lock_operation_name, $token_operation);
       
       }
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值