温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

redis分布式锁的作用是什么

发布时间:2021-06-24 09:54:29 来源:亿速云 阅读:139 作者:chen 栏目:大数据

这篇文章主要讲解了“redis分布式锁的作用是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“redis分布式锁的作用是什么”吧!

原生redis分布式锁网上各种写法太多了,不同版本redis又稍有区别,不如redisson简单快速集成。

pom文件引入

<dependency>
  <groupId>org.redisson</groupId>
  <artifactId>redisson</artifactId>
  <version>3.11.3</version>
</dependency>

Spring集成

首先需要做的是向你的Spring XML文件增加一个Redisson的引用描述:

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:redisson="http://redisson.org/schema/redisson"
       xsi:schemaLocation="
       http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context.xsd
       http://redisson.org/schema/redisson
       http://redisson.org/schema/redisson/redisson.xsd
">
...
</beans>

定义redisson bean

<!-- 单节点 -->
<redisson:client>
    <redisson:single-server address="redis://127.0.0.1:6379"/>
</redisson:client>

<!-- 哨兵模式-->
<redisson:client>
    <redisson:sentinel-servers master-name="mymaster">
        <redisson:sentinel-address value="redis://127.0.0.1:26379" />
        <redisson:sentinel-address value="redis://127.0.0.1:26380"/>
        <redisson:sentinel-address value="redis://127.0.0.1:26381"/>
    </redisson:sentinel-servers>
</redisson:client>

<!-- 主从模式 -->
<redisson:client>
    <redisson:master-slave-servers master-address="redis://127.0.0.1:6379">
        <redisson:slave-address value="redis://127.0.0.1:6380" />
        <redisson:slave-address value="redis://127.0.0.1:6381" />
    </redisson:master-slave-servers>
</redisson:client>

<!-- 集群模式 -->
<redisson:client>
    <redisson:cluster-servers>
        <redisson:node-address value="redis://127.0.0.1:6379" />
        <redisson:node-address value="redis://127.0.0.1:6380" />
        <redisson:node-address value="redis://127.0.0.1:6381" />
    </redisson:cluster-servers>
</redisson:client>
@Autowired
private RedissonClient redisson;
// 定义锁的key
RLock lock = redisson.getLock("myLock");
// 尝试加锁,最多等待100秒,上锁以后10秒自动解锁
boolean res = lock.tryLock(100, 10, TimeUnit.SECONDS);
if (res) {
    try {
        //do something
    } finally {
        //解锁
        lock.unlock();
    }
}

感谢各位的阅读,以上就是“redis分布式锁的作用是什么”的内容了,经过本文的学习后,相信大家对redis分布式锁的作用是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI