当前位置: 首页 > news >正文

做网站可以使用免费空间吗移动慧生活app下载

做网站可以使用免费空间吗,移动慧生活app下载,网站开发面试自我介绍,南通移动网站建设一,概念 在PHP中实现分布式锁通常可以使用数据库、缓存系统(如Redis)或者其他中央存储系统来保证在分布式系统中的数据一致性与同步。秒杀下单、抢红包等等业务场景,都需要用到分布式锁。 常规方案大概有七中 方案一:…

一,概念

在PHP中实现分布式锁通常可以使用数据库、缓存系统(如Redis)或者其他中央存储系统来保证在分布式系统中的数据一致性与同步。秒杀下单、抢红包等等业务场景,都需要用到分布式锁。

在这里插入图片描述
常规方案大概有七中
方案一:SETNX + EXPIRE
方案二:SETNX + value值是(系统时间+过期时间)
方案三:使用Lua脚本(包含SETNX + EXPIRE两条指令)
方案四:SET的扩展命令(SET EX PX NX)
方案五:SET EX PX NX + 校验唯一随机值,再释放锁
方案六: 开源框架~Redisson
方案七:多机实现的分布式锁Redlock
这里我采用方案三,加锁和根据判断解锁都需要保持原子性,所以使用Lua脚本

二、代码

<?phpclass RedisLock
{private $redis;private $lockKey;public function __construct($lockKey){$this->redis = new Redis();$this->redis->connect('127.0.0.1', 6379);$this->lockKey = $lockKey;}public function acquireLock(){// 设置锁的超时时间,防止死锁(在删除锁的时候有可能服务挂了,那这个锁就成了死锁,设置过期时间可以防止死锁)$expire = 10;// 生成一个唯一的标识符(可能会出现线程A代码未执行完,锁已经过期,这时候另外一个线程B就能拿到了锁,这时线程A执行完毕删除锁,如果没有当前线程唯一标识就会删除掉B已经拿到的锁)$identifier = uniqid();while (!$this->redis->set($this->lockKey, $identifier, ['NX', 'EX' => $expire])) {// 如果设置失败,等待一段时间后重试usleep(1000);}return $identifier;}public function releaseLock($identifier){// 释放锁,检查标识符是否匹配,确保只有持有锁的请求才能释放锁//这里的判断和删除锁需要保持原子性,所以使用Lua脚本来删除if ($this->redis->eval("if redis.call('get',KEYS[1]) == ARGV[1] then return redis.call('del',KEYS[1]) else return 0 end", [$this->lockKey, $identifier], 1)) {return true;}return false;}
}// 示例用法
$lock = new RedisLock('my_resource');// 尝试获取锁
$identifier = $lock->acquireLock();if ($identifier) {// 成功获取锁,执行需要同步的操作// 释放锁$lock->releaseLock($identifier);
} else {// 获取锁失败,处理冲突或重试逻辑echo "Failed to acquire lock\n";
}
http://www.hrbkazy.com/news/42084.html

相关文章:

  • 电商o2o是什么意思深圳优化排名公司
  • 一个做服装品牌的网站谷歌google下载
  • 做网站运营有前途个人网页模板
  • 做的比较好的法律实务培训网站2021热门网络营销案例
  • 中国建设网站下载安装怎样做好销售和客户交流
  • 织梦怎么做手机网站温州seo品牌优化软件
  • 定服装网站建设长尾关键词挖掘词工具
  • 金融网站如何做设计方案百度搜索浏览器
  • 在网站上投放广告泰安网站建设优化
  • 网站栏目结构哪些网络营销顾问是做什么的
  • 厦门网站建设公司怎么选网络服务提供者
  • 网站建设算研发费用吗关键词有哪些
  • 制图网站百度竞价点击软件
  • 网站快照优化怎么做宁波网站建设推广公司价格
  • 南京网站模板seo排名如何
  • 北京网站设计学校佛山网站定制
  • 设计师网站官网宁波企业seo外包
  • 政府网站红色模板百度经验实用生活指南
  • 上海哪家做网站关键词排名关键词排名怎么上首页
  • 从做系统后以前的网站打不开了怎么办理seo优化软件免费
  • 企业网站的种类企业营销推广怎么做
  • 网站建设思路整合营销传播理论
  • 男女生做羞羞网站关键词排名优化方法
  • 网站建设维护单位沈阳网站关键字优化
  • 精通网站建设 全能建站密码pdf百度热门关键词排名
  • 北京专业网站建设服务商西安网站设计公司
  • 公司备案号查询平台官网seo全站优化全案例
  • 北京门头沟住房和城乡建设委员会网站it培训班大概需要多少钱
  • 企业网站内容更新河南郑州最近的热搜事件
  • 马蹄室内设计网站百度手机快速排名点击软件