我是靠谱客的博主 飞快水蜜桃,最近开发中收集的这篇文章主要介绍Redis 并发加锁,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

并发加锁
如果不是redis 集群,可以用multi
如果是集群就不行了,因为访问的redis是随机的

function lock($id,$expire){
$id = "lock_".$id;
$now = time();
$expireTime = $now + $expire;
$redis = Factory::getRedis();
$reult = $redis->setnx($id,$expireTime);
if($result){//获得锁
return true;
}
//防止死锁判断过期
$value = $redis->get($id);
//锁过期
if($value <= $now){
//竞争获取锁
$value = $redis->getSet($id,$expireTime);
if($value <= $now){
return true;
}
}
return false;
}

最后

以上就是飞快水蜜桃为你收集整理的Redis 并发加锁的全部内容,希望文章能够帮你解决Redis 并发加锁所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部