@Override
    public V put(final K key, final V value) {
        checkAndScheduleRefresh(this);
        final V previous = cache.getIfPresent(key);
        cache.put(key, value);
        return previous;
    }
The differences between this class and {@link MemorySafeLRUMap}
is that this class is thread safe, and it use WindowTinyLFU algorithm
provided by caffeine which is better than LRU algorithm.
shenyu-common/src/main/java/org/apache/shenyu/common/cache/MemorySafeWindowTinyLFUMap.java