这篇文章主要讲解了“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分布式锁的作用是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/u/250524/blog/3104746