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

深圳市房地产信息平台seo网站排名优化案例

深圳市房地产信息平台,seo网站排名优化案例,文件错误wordpress,wordpress仿亿欧网Java使用Redis来实现分布式锁 在单节点服务中,我们可以使用synchronized来保证同一时间内只允许一个线程执行限定的代码块。但是如果我们是多节点服务呢,因为synchronized是针对服务内部的,其他服务是无法受到他的干预的。那么如何保证多个节…

Java使用Redis来实现分布式锁

在单节点服务中,我们可以使用synchronized来保证同一时间内只允许一个线程执行限定的代码块。但是如果我们是多节点服务呢,因为synchronized是针对服务内部的,其他服务是无法受到他的干预的。那么如何保证多个节点在同一时间内只允许一个节点中的一个线程去访问这个代码块呢?

使用分布式锁!!!

本文使用Redisson来操作Redis并实现分布式锁

Redisson

官网:https://github.com/redisson/redisson/tree/redisson-3.16.8

  1. 引入依赖

    <dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>3.16.8</version>
    </dependency> 
    
  2. 创建RedissonConfig配置类

    @ConfigurationProperties(prefix = "spring.redis")
    @Configuration
    @Data
    public class RedissonConfig {// 主机名private String host;// 端口private String port;// 使用那个数据库private Integer database;@Beanpublic RedissonClient redissonClient(){Config config = new Config();// 使用单机Redis服务config.useSingleServer()// use "rediss://" for SSL connection.setAddress(String.format("redis://%s:%s",host,port)).setDatabase(database);return Redisson.create(config);}
    }
    
  3. 创建配置文件

    # Redis 配置
    spring.redis.host=xxx
    spring.redis.port=xxx
    spring.redis.database=xxx
    
  4. 在业务代码中添加分布式锁

    // 注入我们的RedissonClient
    @Autowired
    private RedissonClient redissonClient;{// 指定一个key来获取锁,如果是需要按不同的情况加锁的话,这样可以使用变量RLock lock = redissonClient.getLock("LOCK_NAME");try{lock.tryLock(long waitTime, long leaseTime, TimeUnit unit);//... 业务逻辑}catch (InterruptedException ex) {ex.printStackTrace();}finally{// 判断是否由当前线程持有锁 if (lock.isHeldByCurrentThread()) {// 释放锁lock.unlock();}}
    }
    

    tryLock 尝试获取锁 获取成功返回true 获取失败返回false

    • waitTime 尝试获取锁的等待时间,超过不再继续获取
    • leaseTime 锁的持有时间,业务代码的执行时间如果超过该时间则抛出异常
      • 可以设置为null 或者 -1 表示业务执行多久占用多久,这里其实使用了看门狗的一个机制,默认的持有时间是30秒,如果超时未执行完成,每10看门狗会为我们自己续期一次。已保证业务代码执行完成。
    • unit 时间单位
http://www.hengruixuexiao.com/news/33106.html

相关文章:

  • php网站做代理服务器广州灰色优化网络公司
  • 威海网站seoseo排名快速刷
  • 用什么l软件做网站了常见的网络推广方式
  • 单位网站服务的建设及维护百度怎么收录自己的网站
  • 中国电商平台排行榜前100荥阳seo推广
  • 布料市场做哪个网站好网络营销策划方案
  • 网站建设需注意点手机做网页的软件
  • 如何做 旅游网站内容鸿星尔克网络营销
  • 最好的ppt模板网站徐州关键词优化排名
  • 四川省建设厅建造师官方网站百度舆情监测平台
  • 信宜网站建设个人博客登录入口
  • 西安 网站空间关键词查询网
  • 做美食网站视频站长统计幸福宝下载
  • 网站建设百度推广免费行情软件网站下载大全
  • 虚拟币网站建设网络营销广告名词解释
  • 免费1级做爰片在线网站百度度小店申请入口
  • 承德微网站建设自助网站建设
  • 专业做域名的网站吗bt磁力搜索器
  • 网站上动画视频怎么做360收录批量查询
  • app手机网站制作搜索量查询百度指数
  • 网站建设运作流程站长统计推荐
  • 网站建设运营预算明细什么是引流推广
  • 建站技巧免费seo视频教程
  • 网站源码本地测试小程序定制
  • 一级a做爰片免费网站 视频最知名的网站推广公司
  • 17做网店这个网站好不好百度企业
  • 鄂州做网站报价学电商出来一般干什么工作
  • 网站开发的软件有哪些做网站seo推广公司
  • 石家庄知名网站建设信息流推广方式
  • 日照网站建设费用公众号如何推广引流