diff --git a/redisson/src/main/java/org/redisson/RedissonSetMultimap.java b/redisson/src/main/java/org/redisson/RedissonSetMultimap.java index 380867e37..7f4d471cb 100644 --- a/redisson/src/main/java/org/redisson/RedissonSetMultimap.java +++ b/redisson/src/main/java/org/redisson/RedissonSetMultimap.java @@ -82,6 +82,9 @@ public class RedissonSetMultimap<K, V> extends RedissonMultimap<K, V> implements "for j = 2, #ARGV, 1 do " + "size = size + redis.call('srem', name, ARGV[j]); " + "end; " + + "if redis.call('exists', name) == 0 then " + + "redis.call('hdel', KEYS[1], keys[i-1]); " + + "end; " + "end;" + "end; " + "return 0; ", diff --git a/redisson/src/test/java/org/redisson/RedissonLiveObjectServiceTest.java b/redisson/src/test/java/org/redisson/RedissonLiveObjectServiceTest.java index 39809dec0..eaffadd99 100644 --- a/redisson/src/test/java/org/redisson/RedissonLiveObjectServiceTest.java +++ b/redisson/src/test/java/org/redisson/RedissonLiveObjectServiceTest.java @@ -1721,7 +1721,7 @@ public class RedissonLiveObjectServiceTest extends BaseTest { service.asRMap(myObject).expire(Duration.ofSeconds(1)); Thread.sleep(2000); assertFalse(service.asLiveObject(myObject).isExists()); - assertThat(redisson.getKeys().count()).isEqualTo(1); + assertThat(redisson.getKeys().count()).isZero(); redisson.shutdown(); instance.stop();