@Override
    public V put(K key, V value, Duration ttl) {
        return get(putAsync(key, value, ttl));
    }
@Test
    public void testPutGetTTL() throws InterruptedException {
        RMapCacheNative<SimpleKey, SimpleValue> map = redisson.getMapCacheNative("simple04");
        Assertions.assertNull(map.get(new SimpleKey("33")));

        map.put(new SimpleKey("33"), new SimpleValue("44"), Duration.ofSeconds(2));

        SimpleValue val1 = map.get(new SimpleKey("33"));
        Assertions.assertEquals("44", val1.getValue());

        Thread.sleep(1000);

        Assertions.assertEquals(1, map.size());
        SimpleValue val2 = map.get(new SimpleKey("33"));
        Assertions.assertEquals("44", val2.getValue());
        Assertions.assertEquals(1, map.size());

        Thread.sleep(1000);

        Assertions.assertNull(map.get(new SimpleKey("33")));
        map.destroy();
    }