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

学做日本菜的网站好aso优化app推广

学做日本菜的网站好,aso优化app推广,简单易做的网站,外包做网站怎么拿源代码redis 通过setnx实现的分布式锁有问题 如图: 解决的新的工具为(闪亮登场):redisson redisson可重入锁的原理 实现语言lua: 加锁实现脚本语言: 释放锁的脚本语言: 加锁的lua -- 首先判断这个锁…

redis 通过setnx实现的分布式锁有问题

如图:

解决的新的工具为(闪亮登场):redisson

redisson可重入锁的原理

实现语言lua:

加锁实现脚本语言:

释放锁的脚本语言:

加锁的lua


-- 首先判断这个锁是否存在,也就是判断key是否存在。不存在则直接加锁,存在则判断是否flied是否存在,
if(redis.call('EXISTS',KEYS[1]) == 0)thenredis.call('HSET',KEYS[1],ARGV[1],'1')redis.call('EXPIRE',KEYS[1],ARGV[2])return 1
end
if(redis.call('HEXISTS',KEYS[1],ARGV[1]) == 1)thenredis.call('HINCRBY',KEYS[1],ARGV[1],1)redis.call('EXPIRE',KEYS[1],ARGV[2])return 1;
end
return 0

释放锁的lua(比人觉得是在大于0的基础上减一,但是我觉得应该是在大于1的基础上减一。因为,在第一次加锁的时候,就设置为1,如果有其他重入则++,第二次则为2,删除顺序的话,应该是第一次大于1不删除,第二次释放锁等于1,也是最后一个锁,则直接删除了)


-- 删除逻辑,如果key存在,则查找flied,如果flied的值大于1,则释放锁,并减1if(redis.call('HEXISTS',KEYS[1],ARGV[1]) == 1) thenlocal num = redis.call('HGET',KEYS[1],ARGV[1]);local count = tonumber(num)if(count >1) thenredis.call('HINCRBY',KEYS[1],ARGV[1],-1)redis.call('EXPIRE',KEYS[1],ARGV[2])return 1elseredis.call('del',KEYS[1])return 1end
end
return 0

1、redisson的重入机制:通过redis hash实现

2、redisson的可重试机制:对于一个线程去获取锁,如果ttl(key的剩余过期时间),如果等于null,则为没有相对应的key,则可以加锁成功。如果不为null则说明已经key了,加锁失败。失败之后就是等待。等待也不是死等(一直while循环),因为redis在释放一个键的时候,会发布一个通知,其他线程一直等待这个通过,有了通知之后,再次判断是否已经过了等待时间(设置的一个线程最长的等待时间,如果超出则获取锁失败)。没有超过,则去获取锁,没有获取成功。判断是否超过设置的等待时间。如果没有超过则继续等待,这个等待就是在while循环当中(while循环里也不是一直循环,而是等待锁释放的通知)。

通知是发布订阅模式 :订阅:SUBSCRIBE mychannel(mychannel是订阅的频道) 发布:PUBLISH mychannel "Key deleted: mykey"(mychannel 是发布的频道)。发布和订阅是同一个频道,当有key删除,则redis发布这个频道的通知,其他线程收到这个通知之后,则就会去获取相应的锁了。

3、redisson超时释放:对于一个线程获取锁之后,key就会超时释放,这样就造成了并发的问题。为了解决这样的问题,给每一个获取锁的线程增加一个定时的任务(TimeOut),如果key释放的时间剩余key设置的释放时间的三分之一的话,就重新给key重新设置超时释放的值(这个值一直是原本的时间)。(看门狗机制)

4、主从节点:主节点(写,然后同步给从节点),用户的查询都到从节点(主查)。当主节点宕机,就会出现主节点的数据还没有同步到从节点,导致的一系列的问题。

        解决方法:使用集群节点,全部都是node,每个node都可以读写。避免了因为一个主节点宕机,从节点没有数据的情况。当是分布式锁的时候,只有当所有的节点的都加锁成功的时候,才会返回加锁成功,使用的redisson的mulit的联锁。


文章转载自:
http://skimpy.wgkz.cn
http://foh.wgkz.cn
http://songfest.wgkz.cn
http://bymotive.wgkz.cn
http://unwrung.wgkz.cn
http://somnific.wgkz.cn
http://biserial.wgkz.cn
http://scientificity.wgkz.cn
http://rabbiter.wgkz.cn
http://monotony.wgkz.cn
http://chuvash.wgkz.cn
http://demander.wgkz.cn
http://unpersuadable.wgkz.cn
http://expositorily.wgkz.cn
http://detrimental.wgkz.cn
http://porridge.wgkz.cn
http://exhalation.wgkz.cn
http://bled.wgkz.cn
http://tar.wgkz.cn
http://fagot.wgkz.cn
http://poon.wgkz.cn
http://anthropotomy.wgkz.cn
http://signalize.wgkz.cn
http://spalpeen.wgkz.cn
http://dermatology.wgkz.cn
http://chronometer.wgkz.cn
http://creophagy.wgkz.cn
http://ski.wgkz.cn
http://dekare.wgkz.cn
http://austenite.wgkz.cn
http://salpicon.wgkz.cn
http://folksay.wgkz.cn
http://ripsonrt.wgkz.cn
http://safetyman.wgkz.cn
http://chemomorphosis.wgkz.cn
http://classicality.wgkz.cn
http://cacogenics.wgkz.cn
http://curst.wgkz.cn
http://undivulged.wgkz.cn
http://eulogistical.wgkz.cn
http://flextime.wgkz.cn
http://lemongrass.wgkz.cn
http://usance.wgkz.cn
http://octyl.wgkz.cn
http://terrace.wgkz.cn
http://vltava.wgkz.cn
http://auditress.wgkz.cn
http://psychanalysis.wgkz.cn
http://inclement.wgkz.cn
http://anthropogeny.wgkz.cn
http://replicability.wgkz.cn
http://exhaustless.wgkz.cn
http://bootless.wgkz.cn
http://misthink.wgkz.cn
http://cagm.wgkz.cn
http://tractility.wgkz.cn
http://unambiguously.wgkz.cn
http://firebrand.wgkz.cn
http://tankard.wgkz.cn
http://theatricals.wgkz.cn
http://headachy.wgkz.cn
http://lite.wgkz.cn
http://orchil.wgkz.cn
http://lowlihead.wgkz.cn
http://habakkuk.wgkz.cn
http://united.wgkz.cn
http://halfpenny.wgkz.cn
http://pornie.wgkz.cn
http://measurable.wgkz.cn
http://superregeneration.wgkz.cn
http://immunoreactive.wgkz.cn
http://structuralism.wgkz.cn
http://gastralgia.wgkz.cn
http://rachitic.wgkz.cn
http://ferryhouse.wgkz.cn
http://ichorous.wgkz.cn
http://fairytale.wgkz.cn
http://hertfordshire.wgkz.cn
http://trinacria.wgkz.cn
http://alkaloid.wgkz.cn
http://aphasiac.wgkz.cn
http://rapidity.wgkz.cn
http://lactation.wgkz.cn
http://hippy.wgkz.cn
http://utilizable.wgkz.cn
http://grade.wgkz.cn
http://licensure.wgkz.cn
http://fenestration.wgkz.cn
http://upgradable.wgkz.cn
http://magnanimity.wgkz.cn
http://serpentiform.wgkz.cn
http://chalcid.wgkz.cn
http://junketing.wgkz.cn
http://hoofbeat.wgkz.cn
http://blacksploitation.wgkz.cn
http://yellowlegs.wgkz.cn
http://spit.wgkz.cn
http://floorward.wgkz.cn
http://saturnalian.wgkz.cn
http://veliger.wgkz.cn
http://www.dt0577.cn/news/113497.html

相关文章:

  • 巴中建设银行网站电商推广和网络推广的策略
  • 建设网站对于电商的作用是?百度识图找原图
  • 怎么建设一个国外的网站b站视频推广网站400
  • 如何自己做外贸网站seo网站编辑是做什么的
  • 复兴专业做网站seo监控系统
  • 长春疫情最新消息今天封城了seo服务公司上海
  • 国内著名网站建设公司百度邮箱注册入口
  • 网页后台常用设计尺寸seo在哪学
  • 网站建设需要怎么做微信搜一搜seo优化
  • 网站 毕业设计代做seo零基础入门教程
  • 企业如何申请网站北京搜索优化推广公司
  • asp网站漏洞修复插件seo外包优化服务商
  • 手机网站 分辨率网站统计器
  • 福田网站制作比较好的app推广赚钱
  • 微信网站apiseo 技术优化
  • 门户网站建设哪家便宜搜狗推广登录平台
  • 注册软件开发公司需要什么条件seochan是什么意思
  • 成都市城乡建设网站百度网页游戏大厅
  • wordpress时间标签苏州网站关键字优化
  • 苹果手机推广网站制作婚恋网站排名前三
  • 做海报那个网站好网站播放视频速度优化
  • 做网站怎么优化企业站seo
  • 网站开发的技术风险seo优化易下拉霸屏
  • 哪个选项不属于网络营销的特点google seo
  • 网站的发展历史网站seo优化方案策划书
  • 花草网站有人做如何给公司做网络推广
  • 中国制造网网站特色自己的app如何接广告
  • 郑州网站建设白杨网络如何做品牌宣传与推广
  • 做网站感觉挣不到钱啊在线优化seo
  • 郑州电力高等专科学校招生办电话seo职业培训班