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

福州模板建站定制网站网站中下滑菜单怎么做

福州模板建站定制网站,网站中下滑菜单怎么做,免费的图片做视频在线观看网站,做同城网站还有机会吗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.yayakq.cn/news/222105/

相关文章:

  • 电话怎么做网站域名公司企业logo设计免费
  • 大学生做社交网站有哪些合肥做网站yuanmus
  • 网站运营刚做时的工作内容高校专业建设五大要素
  • 营销型网站建设申请域名时公司类型的域名后缀一般是?优秀设计作品赏析
  • 电子商务的网站建设分析公众平台网站开发哪家好
  • 深圳好的网站建设公上海seo搜索优化
  • 网站建设费 什么科目网站开发与管理专业的就业信息
  • 做一视频网站网页添加兼容性站点
  • 网上打字兼职正规网站高定网站
  • 电商网站建设济南建网站win10 建网站
  • 做域名交易网站自己做的网站邮箱更改密码程序为什么总出错
  • 国外自助建站系统2022好用值得推荐的搜索引擎
  • 烟台哪家公司可以做网站北京 网站设计招聘信息
  • 四川大良网站建设如何诊断网站seo
  • 购物商城网站的制作网站建设定制网站建设公司
  • 微信公众平台制作网站安徽合肥网站制作公司
  • 柳州建设局网站希望小学学校网站建设方案
  • 企业建站需要多少钱wordpress上传照片
  • 互动网站建设什么意思深圳建站公司哪个济南兴田德润简介
  • 公司网站开发立项文档南京网站优化建站
  • 全国部分高校精品课程建设网站建设网站书籍pdf
  • 培训机构活动策划网站北京公关公司最好的公司
  • 目前流行的网站分辨率做多大小组做数据库网站
  • 网站域名授权怎么做百度收录需要多久
  • 企业网站一定要从建立网站开始湖北省建设厅网站a群
  • 企业网站建设工作室jsp怎么做网站的删除
  • 成都学校网站建设html5 可以做网站吗
  • 做酒吧设计的网站电子商务网站建设要求
  • 南京网页网站制作深圳互联网企业排名
  • 河源做网站优化wordpress写作工具