public static <K, V extends AsyncMeasurable> AsyncLRUCache<K, V> create(String cacheName, long maxSize) {
        AsyncLRUCache<K, V> asyncLRUCache = new AsyncLRUCache<>(cacheName, maxSize);
        asyncLRUCache.completeInitialization();
        return asyncLRUCache;
    }
An asynchronous LRU cache that supports asynchronous value computation.

@param <K> key type
@param <V> value type, NOTE: V must not override equals and hashCode
s3stream/src/main/java/com/automq/stream/s3/cache/AsyncLRUCache.java