<dependency> <groupId>org.redisson</groupId> <artifactId>redisson</artifactId> <version>3.14.0</version> </dependency>
public class RedissonRedLock { private volatile static RedissonClient redisson=null; private volatile static RedissonRedLock singleton=null; public RedissonRedLock(){ Config config = new Config(); config.useSingleServer() .setAddress("redis://127.0.0.1:6379") .setDatabase(1) .setPassword("password") .setKeepAlive(true); redisson= Redisson.create(config); } public static RedissonRedLock getSingleton() { if (singleton == null) { synchronized (RedissonRedLock.class) { if (singleton == null) { singleton = new RedissonRedLock(); } } } return singleton; } private void test() throws InterruptedException { RLock lock = redisson.getLock("myLock"); // or wait for lock aquisition up to 65 seconds // and automatically unlock it after 10 seconds boolean res = lock.tryLock(20, 10, TimeUnit.SECONDS); System.out.println("res "+res); if (res) { try { System.out.println("成功"); } finally { lock.unlock(); } }else { } } public static void main(String[] args) throws InterruptedException { for (int i = 0; i <2 ; i++) { getSingleton().test(); //TimeUnit.SECONDS.sleep(5); } } }