基于setnx实现的分布式锁存在的问题,Redisson是什么,有什么作用,怎样使用Redisson,Redisson可重入锁原理,Redisson分布式锁原理,Redisson分布式锁主从一致性问题

目录

基于setnx实现的分布式锁存在的问题:

Redisson是什么,有什么作用 ?

怎样使用Redisson? 

Redisson 的一些使用场景: 

 

 Redisson可重入锁原理:

Redisson分布式锁原理: 

Redisson分布式锁主从一致性问题: 

正常情况: 

主节点发生故障: 

解决策略:

总结: 


基于setnx实现的分布式锁存在的问题:

这里我们引入了Redisson,完美解决了这个问题。

Redisson是什么,有什么作用 ?

Redisson 是一个用于 Java 的开源的分布式和高性能 Redis 客户端,它提供了丰富的功能和易于使用的 API,用于与 Redis 数据存储进行交互

Redisson 的主要用途在于简化和增强与 Redis 的交互方式,使开发人员能够更轻松地利用 Redis 提供的功能。以下是 Redisson 的一些主要特性和用途:

  1. 分布式对象:Redisson 提供了分布式对象的支持,例如分布式集合、分布式列表、分布式映射、分布式队列等。这使得在分布式环境中使用这些数据结构变得更加简单和高效。

  2. 分布式锁:Redisson 提供了分布式锁的实现,可以确保在分布式环境下的并发操作的互斥性。它支持公平锁和非公平锁,并提供了多种锁的模式和用法。

  3. 分布式信号量:Redisson 提供了分布式信号量的实现,用于控制并发访问资源的数量。它可以用于限流、资源池管理等场景。

  4. 分布式限流器:Redisson 提供了分布式限流器的功能,可以基于令牌桶算法或漏桶算法进行请求限制和速率控制。

  5. 分布式发布/订阅:Redisson 具有强大的分布式发布/订阅功能,可以在不同的节点之间进行消息的发布和订阅,实现消息的广播和通信。

  6. 缓存支持:Redisson 提供了对分布式缓存的支持,可以通过简单的 API 轻松地将对象存储在 Redis 中,并进行快速的读取和更新。

  7. 哨兵模式和集群模式支持:Redisson 支持 Redis 的高可用性模式,包括哨兵模式和集群模式,能够自动检测和管理 Redis 节点的故障转移和主从切换。

总结:Redisson 是一个功能丰富的 Java 客户端,它简化了与 Redis 的交互,提供了分布式数据结构、分布式锁、限流、发布/订阅等功能,使得在分布式系统中更方便地利用 Redis 实现高性能和可靠的应用程序。

怎样使用Redisson? 

 

Redisson 的一些使用场景: 

 

  1. 分布式缓存:Redisson 提供了简单易用的分布式缓存功能,可以将对象存储在 Redis 中,从而加速读取和减轻后端数据库的负载。

  2. 分布式锁:在分布式环境中,使用 Redisson 的分布式锁可以确保对共享资源的互斥访问,避免并发冲突和数据不一致的问题。

  3. 分布式集合和分布式映射:Redisson 提供了分布式集合和分布式映射的功能,可以在分布式环境中方便地操作集合和映射数据结构,如分布式队列、分布式列表、分布式哈希等。

  4. 分布式限流器:使用 Redisson 的分布式限流器功能,可以限制和控制系统中的请求速率,防止过载和资源耗尽。

  5. 发布/订阅:Redisson 提供了强大的分布式发布/订阅功能,可以在不同节点之间进行消息的广播和通信。

  6. 分布式计数器和计时器:Redisson 支持分布式计数器和计时器,可以用于计数、统计和定时任务等场景。

这些只是 Redisson 的一些常见使用场景,实际上它提供了更多功能和工具,可以根据具体需求进行灵活应用。无论是构建分布式应用程序、缓存管理、资源控制还是消息传递,Redisson 都可以为你提供强大的支持

 Redisson可重入锁原理:

Redisson分布式锁原理: 

 

Redisson分布式锁主从一致性问题: 

正常情况: 

主节点发生故障: 

 这里以为,访问新的主节点,会产生无锁问题,降低了安全性。

解决策略:

多加几个主节点, 相互之间没有任何的关系,都可以进行读写,  必须将所有的主节点的都获取到锁才算是获取成功。因为没有从机,所以不会出现主从一致性问题,具有可用性,就算是真的有一个主机宕机了,其余的也可以工作,可用性也可以根据节点的增高而增高。

 如果想让可用性更强,但不想增加从机的数量了,可以在主机中添加从机

 

这里就算是,有一个主节点宕机了,从机变为了主机,也不会产生安全性问题,就算是有线程拿到了宕机的那个锁,也不会拿到所有的锁,而锁只有全部拿到才生效。所以这里不会产生安全性问题。 

总结: 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小懒懒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值