@Override
    public int diff(String... names) {
        return get(diffAsync(names));
    }
@Test
    public void testDiff() throws InterruptedException {
        redisson.getKeys().flushall();
        RSetCache<Integer> cache1 = redisson.getSetCache("cache1", IntegerCodec.INSTANCE);
        cache1.add(1);
        cache1.add(2, 1, TimeUnit.SECONDS);
        cache1.add(5, 1, TimeUnit.SECONDS);
        cache1.add(3, 1, TimeUnit.SECONDS);

        RSetCache<Integer> cache2 = redisson.getSetCache("cache2", IntegerCodec.INSTANCE);
        cache2.add(4);
        cache2.add(2, 1, TimeUnit.SECONDS);
        cache2.add(5, 1, TimeUnit.SECONDS);
        cache2.add(7);


        RSetCache<Integer> cache3 = redisson.getSetCache("cache3", IntegerCodec.INSTANCE);
        assertThat(cache3.diff("cache1", "cache2")).isEqualTo(2);
        assertThat(cache3).containsExactlyInAnyOrder(1, 3);
        cache3.clear();

        Thread.sleep(1500);

        assertThat(cache3.diff("cache1", "cache2")).isEqualTo(1);
        assertThat(cache3).containsExactlyInAnyOrder(1);

        assertThat(redisson.getKeys().getKeys()).containsExactlyInAnyOrder("cache1", "cache2", "cache3");
    }