Java 带弹簧和Redis的Shedlock
我使用Shedlock和Spring Boot,并使用Redis作为锁提供程序 一切似乎都很好。但是当我在任务执行期间手动转到Redis时,我没有看到锁的特定键 在Redis CLI上,我执行Java 带弹簧和Redis的Shedlock,java,spring-boot,caching,redis,Java,Spring Boot,Caching,Redis,我使用Shedlock和Spring Boot,并使用Redis作为锁提供程序 一切似乎都很好。但是当我在任务执行期间手动转到Redis时,我没有看到锁的特定键 在Redis CLI上,我执行键*以获取所有键 这是预期的还是我错过了任何配置 @Bean public LockProvider lockProvider() { return new JedisLockProvider(redisPoolPrimary.getPool(), RedisPoolPrimary.ENV_ID);
键*
以获取所有键
这是预期的还是我错过了任何配置
@Bean
public LockProvider lockProvider() {
return new JedisLockProvider(redisPoolPrimary.getPool(), RedisPoolPrimary.ENV_ID);
}
使用的依赖项
<dependency>
<groupId>net.javacrumbs.shedlock</groupId>
<artifactId>shedlock-spring</artifactId>
<version>4.12.0</version>
</dependency>
<dependency>
<groupId>net.javacrumbs.shedlock</groupId>
<artifactId>shedlock-provider-redis-jedis</artifactId>
<version>4.12.0</version>
</dependency>
net.javacrumps.shedlock
梭形弹簧
4.12.0
net.javacrumps.shedlock
舍德罗克提供者雷迪斯绝地
4.12.0
我没有使用绝地武士,而是使用普通弹簧包装器shedlock提供商redis spring
。如果您的配置工作正常,那么您应该能够通过使用redis cli查询键*
来获取。如果不尝试手动生成密钥并签入redis,shedlock将使用JedisLockProvider.java
中的以下方法生成进入redis的密钥
static String buildKey(String lockName, String env) {
return String.format("%s:%s:%s", KEY_PREFIX, env, lockName);
}
检查JedisLockProvider.java
中的以下行,它实际上在Redis中维护锁信息
<dependency>
<groupId>net.javacrumbs.shedlock</groupId>
<artifactId>shedlock-spring</artifactId>
<version>4.12.0</version>
</dependency>
<dependency>
<groupId>net.javacrumbs.shedlock</groupId>
<artifactId>shedlock-provider-redis-jedis</artifactId>
<version>4.12.0</version>
</dependency>
static String buildKey(String lockName, String env) {
return String.format("%s:%s:%s", KEY_PREFIX, env, lockName);
}