@Override
    public Set<byte[]> zDiff(byte[]... sets) {
        List<Object> args = new ArrayList<>(sets.length + 1);
        args.add(sets.length);
        args.addAll(Arrays.asList(sets));

        return write(sets[0], ByteArrayCodec.INSTANCE, ZDIFF, args.toArray());
    }
@Test
    public void testZDiff() {
        StringRedisTemplate redisTemplate = new StringRedisTemplate();
        redisTemplate.setConnectionFactory(new RedissonConnectionFactory(redisson));
        redisTemplate.afterPropertiesSet();

        redisTemplate.boundZSetOps("test").add("1", 10);
        redisTemplate.boundZSetOps("test").add("2", 20);
        redisTemplate.boundZSetOps("test").add("3", 30);
        redisTemplate.boundZSetOps("test").add("4", 30);

        redisTemplate.boundZSetOps("test2").add("5", 50);
        redisTemplate.boundZSetOps("test2").add("2", 20);
        redisTemplate.boundZSetOps("test2").add("3", 30);
        redisTemplate.boundZSetOps("test2").add("6", 60);

        Set<String> objs = redisTemplate.boundZSetOps("test").difference("test2");
        assertThat(objs).hasSize(2);
    }