public BloomFilter get(
      BloomFilterCacheKey key,
      boolean debug,
      LongConsumer ioSizeRecorder,
      LongConsumer cacheHitAdder,
      LongConsumer cacheMissAdder)
      throws IOException {
    BloomFilterLoader loader = new BloomFilterLoader(ioSizeRecorder);
    try {
      if (!CACHE_ENABLE) {
        return loader.apply(key);
      }

      BloomFilter bloomFilter = lruCache.get(key, loader);

      if (debug) {
        DEBUG_LOGGER.info("get bloomFilter from cache where filePath is: {}", key.filePath);
      }

      return bloomFilter;
    } catch (IoTDBIORuntimeException e) {
      throw e.getCause();
    } finally {
      if (loader.isCacheMiss()) {
        cacheMissAdder.accept(1);
      } else {
        cacheHitAdder.accept(1);
      }
    }
  }
This class is used to cache <code>BloomFilter</code> in IoTDB. The caching strategy is LRU.
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/buffer/BloomFilterCache.java