@Override
    public byte[] randomKey(RedisClusterNode node) {
        RedisClient entry = getEntry(node);
        RFuture<byte[]> f = executorService.readRandomAsync(entry, ByteArrayCodec.INSTANCE, RedisCommands.RANDOM_KEY);
        return syncFuture(f);
    }
@Test
    public void testRandomKey() {
        testInCluster(connection -> {
            RedissonClient redisson = (RedissonClient) connection.getNativeConnection();
            StringRedisTemplate redisTemplate = new StringRedisTemplate();
            redisTemplate.setConnectionFactory(new RedissonConnectionFactory(redisson));
            redisTemplate.afterPropertiesSet();

            for (int i = 0; i < 10; i++) {
                redisTemplate.opsForValue().set("i" + i, "i" + i);
            }

            for (RedisClusterNode clusterNode : redisTemplate.getConnectionFactory().getClusterConnection().clusterGetNodes()) {
                String key = redisTemplate.opsForCluster().randomKey(clusterNode);
                assertThat(key).isNotNull();
            }
        });
    }