redisson samphore
时间: 2024-01-30 21:04:32 浏览: 153
Redisson Semaphore是Redisson提供的一种分布式信号量实现。它基于Redis实现,可以在分布式环境中实现对资源的并发访问控制。Semaphore可以用来限制同时访问某个共享资源的线程数量。当信号量的数量为N时,最多允许N个线程同时访问,超过N个线程的请求将被阻塞。当某个线程使用完资源后,其他线程才能继续访问。
Redisson提供了通过RedissonClient获取Semaphore对象的方式来创建和使用Semaphore。可以使用RedissonClient的getSemaphore方法来获取Semaphore对象,并通过acquire方法获取信号量,release方法释放信号量。
参考资料:
Redisson Spring Starter: https://github.com/redisson/redisson/tree/master/redisson-spring-boot-starter#spring-boot-starter
Redlock: Redis 官方站提出了一种权威的基于 Redis 实现分布式锁的方式
Redlock:上述机制都只操作单节点、即使Redis通过 sentinel保证高可用,如果这个master节点由于某些原因发生了主从切换,那么就会出现锁丢失的情况(redis同步设置可能数据丢失)。redlock从多个节点申请锁,当一半以上节点获取成功、锁才算获取成功,Redisson有相应的实现。
阅读全文