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));