@Override
    public V put(K key, V value, Duration ttl) {
        return get(putAsync(key, value, ttl));
    }
@Test
    public void testRemoveValueTTL() throws InterruptedException {
        RMapCacheNative<SimpleKey, SimpleValue> map = redisson.getMapCacheNative("simple");
        map.put(new SimpleKey("1"), new SimpleValue("2"), Duration.ofSeconds(1));

        boolean res = map.remove(new SimpleKey("1"), new SimpleValue("2"));
        Assertions.assertTrue(res);

        SimpleValue val1 = map.get(new SimpleKey("1"));
        Assertions.assertNull(val1);

        Assertions.assertEquals(0, map.size());
        
        map.put(new SimpleKey("3"), new SimpleValue("4"), Duration.ofSeconds(1));

        Thread.sleep(1000);
        
        assertThat(map.remove(new SimpleKey("3"), new SimpleValue("4"))).isFalse();

        assertThat(map.get(new SimpleKey("3"))).isNull();
        map.destroy();
    }