diff --git a/pom.xml b/pom.xml
index 25b49cc..c9a1419 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
com.arextest
arex-common
jar
- 0.1.30
+ 0.2.0
${project.groupId}:${project.artifactId}
diff --git a/src/main/java/com/arextest/common/cache/AbstractRedisCacheProvider.java b/src/main/java/com/arextest/common/cache/AbstractRedisCacheProvider.java
index 8c502f1..790a8e1 100644
--- a/src/main/java/com/arextest/common/cache/AbstractRedisCacheProvider.java
+++ b/src/main/java/com/arextest/common/cache/AbstractRedisCacheProvider.java
@@ -91,6 +91,13 @@ public boolean expire(byte[] key, long seconds) {
}
}
+ @Override
+ public boolean exists(byte[] key) {
+ try (Jedis jedis = jedisPool.getResource()) {
+ return jedis.exists(key);
+ }
+ }
+
@Override
public LockWrapper getLock(String namespaceId) {
return new RedissonLock(redissonClient.getLock(namespaceId));
diff --git a/src/main/java/com/arextest/common/cache/CacheProvider.java b/src/main/java/com/arextest/common/cache/CacheProvider.java
index d965a55..abc0981 100644
--- a/src/main/java/com/arextest/common/cache/CacheProvider.java
+++ b/src/main/java/com/arextest/common/cache/CacheProvider.java
@@ -89,6 +89,12 @@ public interface CacheProvider {
*/
boolean expire(byte[] key, long seconds);
+ /**
+ * @param key
+ * @return
+ */
+ boolean exists(byte[] key);
+
/**
* Returns Lock instance by namespaceId.
* @param namespaceId: name of object.
diff --git a/src/main/java/com/arextest/common/cache/redistemplate/AbstractRedisTemplateProvider.java b/src/main/java/com/arextest/common/cache/redistemplate/AbstractRedisTemplateProvider.java
index 2b84f01..42deee7 100644
--- a/src/main/java/com/arextest/common/cache/redistemplate/AbstractRedisTemplateProvider.java
+++ b/src/main/java/com/arextest/common/cache/redistemplate/AbstractRedisTemplateProvider.java
@@ -68,6 +68,11 @@ public boolean expire(byte[] key, long seconds) {
return byteRedisTemplate.expire(key, seconds, TimeUnit.SECONDS);
}
+ @Override
+ public boolean exists(byte[] key) {
+ return byteRedisTemplate.hasKey(key);
+ }
+
@Override
public LockWrapper getLock(String namespaceId) {
return new RedissonLock(redissonClient.getLock(namespaceId));