利用Redisson快速实现分布式锁--Redisson的介绍与使用
什么是Redisson Redisson 是一个使用 Java编写的Redis 客户端。 其以Redis为基础,构建了一种内存数据网格( in-memory data grid),并提供了redis支持的分布式Java对象和服务。包括超过50中Java对象和若干服务(Set, Multimap, SortedSet, Map, List, Queue, Deque, Semaphore, Lock, AtomicLong, Map Reduce, Publish / Subscribe, Bloom filter, Spring Cache, Tomcat, Scheduler, JCache API, Hibernate, MyBatis, RPC, local cache…)。 简单来讲,Redisson可以帮助我们集中精力处理业务,而不必将过多的精力投入到redis的用法上。在项目中我们常常用它来实现redis分布式锁,替代原生redis+lua脚本的方式。 Maven依赖 项目地址https://github.com/redisson/redisson <dependency> <groupId>org.redisson</groupId> <artifactId>redisson</artifactId> <version>3.15.5</version> </dependency> 配置 Redis配置 在使用之前,首先得确保redis的安装与使用。在这里不做赘述。 Redisson支持如下的redis配置方式: 单机模式 主从模式 哨兵模式 集群模式 复制节点(Amazon Web Services (AWS) ElastiCache Cluster and Azure Redis Cache) Java代码 Config config = new Config(); config.useSingleServer() .setAddress("redis://127.0.0.1:6379"); RedissonClient client = Redisson.create(config); 本文示例采用redis单机模式的配置,首先利用SingleServerConfig构建出单机模式下redis的配置对象,并使用setAddress 方法配置IP和端口信息,除此之外,还可以通过对应的setter方法设置retryAttempts、connectionTimeout 和 clientName等参数。然后,通过SingleServerConfig构建出Config对象,并将其传递给Redisson类的create静态方法,获得RedissonClient对象,后续我们便可以使用其进行各种业务操作。 ...