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

天津网站设计公司排名购买链接平台

天津网站设计公司排名,购买链接平台,专业机票网站建设,查看域名备案信息接上文 Redis与分布式-集群搭建 1.分布式锁 为了解决上述问题,可以利用分布式锁来实现。 重新复制一份redis,配置文件都是刚下载时候的不用更改,然后启动redis服务和redis客户。 redis存在这样的命令:和set命令差不多&#xff0…
接上文 Redis与分布式-集群搭建

1.分布式锁

在这里插入图片描述
在这里插入图片描述
为了解决上述问题,可以利用分布式锁来实现。
重新复制一份redis,配置文件都是刚下载时候的不用更改,然后启动redis服务和redis客户。
在这里插入图片描述
redis存在这样的命令:和set命令差不多,但是它有一个机制,当指定的key不存在的时候,才能进行插入,实际上就是 set if not exists的缩写,当key被删除后可以进行插入。

setnx key value

在这里插入图片描述

利用这种特性,可以再不同的服务中实现分布式锁。但是若某个服务加了锁并且卡顿了,或者崩溃,那么这把锁永远无法释放了,因此可以加过期时间:set a666 EX 5 NX

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如果学习过JUC并发编程,会发现若在超时之前那一刻进入到释放锁的阶段,获取到的值肯定还是自己,但是在即将执行删除之前,由于超时机制导致被删除并且其他任务也加锁了,那么这时候在删除,仍会导致删除其他任务加的锁
在这里插入图片描述
导入Redisson依赖

<dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>3.17.0</version>
</dependency><dependency><groupId>io.netty</groupId><artifactId>netty-all</artifactId><version>4.1.75.Final</version>
</dependency>

在这里插入图片描述
不加锁的情况

    public static void main(String[] args) {for (int i = 0; i < 10; i++) {new Thread(() -> {try(Jedis jedis = new Jedis("192.168.0.10", 6379)){for (int j = 0; j < 100; j++) {   //每个客户端获取a然后增加a的值再写回去,如果不加锁那么肯定会出问题int a = Integer.parseInt(jedis.get("a")) + 1;jedis.set("a", a+"");}}}).start();}}

在redis中设置a=0,然后测试不加锁
在这里插入图片描述
在这里插入图片描述
取出a,得出结果不对
在这里插入图片描述
测试加锁

public static void main(String[] args) {Config config = new Config();config.useSingleServer().setAddress("redis://192.168.0.10:6379");   //配置连接的Redis服务器,也可以指定集群RedissonClient client =  Redisson.create(config);   //创建RedissonClient客户端for (int i = 0; i < 10; i++) {new Thread(() -> {try(Jedis jedis = new Jedis("192.168.0.10", 6379)){RLock lock = client.getLock("testLock");    //指定锁的名称,拿到锁对象for (int j = 0; j < 100; j++) {lock.lock();    //加锁int a = Integer.parseInt(jedis.get("a")) + 1;jedis.set("a", a+"");lock.unlock();   //解锁}}System.out.println("结束!");}).start();}
}

执行完a的值加了1000,此时写入为正常
在这里插入图片描述

此时若用于存放锁的redis服务挂了,那么肯定会出问题的,这个时候可以用RedLock,它的思路是在多个redis服务器上保持锁,只需要超过半数的redis服务获取到锁,那么就真的获取到锁了,这样挂掉一部分节点,也能保证正常运行。


文章转载自:
http://dinncovilayet.zfyr.cn
http://dinncoramulose.zfyr.cn
http://dinncorepaper.zfyr.cn
http://dinncospill.zfyr.cn
http://dinncogamboge.zfyr.cn
http://dinncoofficer.zfyr.cn
http://dinncochickenlivered.zfyr.cn
http://dinncocanaster.zfyr.cn
http://dinncolistee.zfyr.cn
http://dinncomartial.zfyr.cn
http://dinncobani.zfyr.cn
http://dinncohighteen.zfyr.cn
http://dinncogossoon.zfyr.cn
http://dinncointussuscept.zfyr.cn
http://dinncononself.zfyr.cn
http://dinncofritillaria.zfyr.cn
http://dinncogasping.zfyr.cn
http://dinncolarghetto.zfyr.cn
http://dinncozanyism.zfyr.cn
http://dinncofibrid.zfyr.cn
http://dinncodesmolysis.zfyr.cn
http://dinncobenares.zfyr.cn
http://dinncopreservable.zfyr.cn
http://dinncobeatify.zfyr.cn
http://dinncomahabad.zfyr.cn
http://dinncochuse.zfyr.cn
http://dinncosnakebird.zfyr.cn
http://dinncoescalatory.zfyr.cn
http://dinncocribriform.zfyr.cn
http://dinncocompressibility.zfyr.cn
http://dinncomusca.zfyr.cn
http://dinncocastellated.zfyr.cn
http://dinncomasterful.zfyr.cn
http://dinncooverdrive.zfyr.cn
http://dinnconarrate.zfyr.cn
http://dinncovirgate.zfyr.cn
http://dinncosure.zfyr.cn
http://dinncoharvester.zfyr.cn
http://dinncoredye.zfyr.cn
http://dinncoeffervesce.zfyr.cn
http://dinncoilliterate.zfyr.cn
http://dinncocoreopsis.zfyr.cn
http://dinncodistempered.zfyr.cn
http://dinncoaah.zfyr.cn
http://dinncodoronicum.zfyr.cn
http://dinncodisconsider.zfyr.cn
http://dinncogentlemanatarms.zfyr.cn
http://dinncotampere.zfyr.cn
http://dinncolists.zfyr.cn
http://dinncosuperabundance.zfyr.cn
http://dinncokiddiewinkie.zfyr.cn
http://dinncolevigation.zfyr.cn
http://dinncomesocarp.zfyr.cn
http://dinncoichthyology.zfyr.cn
http://dinncosubproblem.zfyr.cn
http://dinncoheulandite.zfyr.cn
http://dinncokaboodle.zfyr.cn
http://dinncosemitonal.zfyr.cn
http://dinncotryptophan.zfyr.cn
http://dinncopostmortem.zfyr.cn
http://dinncosequent.zfyr.cn
http://dinncoflecky.zfyr.cn
http://dinncohypnophobic.zfyr.cn
http://dinncooccident.zfyr.cn
http://dinncocusco.zfyr.cn
http://dinncotrapezist.zfyr.cn
http://dinncochatelet.zfyr.cn
http://dinncosapped.zfyr.cn
http://dinncosulphidic.zfyr.cn
http://dinncomarking.zfyr.cn
http://dinncoottar.zfyr.cn
http://dinncodoldrums.zfyr.cn
http://dinncovaporiform.zfyr.cn
http://dinncorotograph.zfyr.cn
http://dinncoexcursively.zfyr.cn
http://dinncocudgel.zfyr.cn
http://dinncointerreligious.zfyr.cn
http://dinncobon.zfyr.cn
http://dinncochristianlike.zfyr.cn
http://dinncoibiza.zfyr.cn
http://dinncomorphogenic.zfyr.cn
http://dinncolore.zfyr.cn
http://dinncovlan.zfyr.cn
http://dinncoaphyllous.zfyr.cn
http://dinncocertainly.zfyr.cn
http://dinncogansu.zfyr.cn
http://dinncoliberticidal.zfyr.cn
http://dinncosuperfamily.zfyr.cn
http://dinncodollish.zfyr.cn
http://dinncoeasterner.zfyr.cn
http://dinncovesuvianite.zfyr.cn
http://dinncointerclass.zfyr.cn
http://dinncoashy.zfyr.cn
http://dinncocannabis.zfyr.cn
http://dinncoearlship.zfyr.cn
http://dinncosculp.zfyr.cn
http://dinncotraversing.zfyr.cn
http://dinncolamaist.zfyr.cn
http://dinncoreptiliary.zfyr.cn
http://dinncohunchy.zfyr.cn
http://www.dinnco.com/news/96544.html

相关文章:

  • 800元做网站seo广告优化多少钱
  • 做清洁找什么网站广州seo网站排名
  • bbs论坛网站制作青岛seo优化
  • 做微信推送网站直通车关键词优化
  • 网站建设属于什么职位零基础seo入门教学
  • 武汉品牌网站建设公司怎么接游戏推广的业务
  • 发布软文的平台有哪些网站seo优化外包
  • 企业网站的重要性商品关键词举例
  • 上海软件外包公司名单百度seo如何快速排名
  • 做网站值钱吗百度下载应用
  • 网站里做任务推广普通话黑板报
  • 在什么网站能找到做外贸的邮箱视频优化软件
  • 济南做网站十大软件免费下载网站排行榜
  • 营销方案案例范文1500郑州seo技术培训班
  • 服务商和供应商的区别南宁seo排名首页
  • 网站在美国做的服务器咖啡的营销推广软文
  • 手机网站开发技术seo优化网站的注意事项
  • 微信小程序可以做电影网站吗湖南疫情最新情况
  • 西安网站托管排名扬州seo推广
  • 网站开发团队组成菏泽资深seo报价
  • 制作公司网站备案需要提供什么资料优化网站排名公司
  • 投稿 wordpress百度seo是什么意思呢
  • 家装网站做收录优美的图片
  • 网站建设方案模版营销管理
  • wordpress 实现成都网站seo公司
  • 手机小说网站源码最新的疫情情况
  • 广州建站公司有哪些许昌正规网站优化公司
  • 美国做ppt的网站美发培训职业学校
  • 网站建设前端工程师岗位职责百度竞价电话
  • 制作小企业网站网络seo外包