| Package | Description | 
|---|---|
| org.apache.hadoop.hbase.io.hfile | Provides implementations of  HFileand HFileBlockCache. | 
| org.apache.hadoop.hbase.io.hfile.bucket | Provides  BucketCache, an implementation ofBlockCache. | 
| org.apache.hadoop.hbase.regionserver | 
| Modifier and Type | Interface and Description | 
|---|---|
| interface  | FirstLevelBlockCacheIn-memory BlockCache that may be backed by secondary layer(s). | 
| interface  | ResizableBlockCacheBlockCache which is resizable. | 
| Modifier and Type | Class and Description | 
|---|---|
| class  | CombinedBlockCacheCombinedBlockCache is an abstraction layer that combines
  FirstLevelBlockCacheandBucketCache. | 
| class  | InclusiveCombinedBlockCache | 
| class  | LruBlockCacheA block cache implementation that is memory-aware using  HeapSize,
 memory-bound using an LRU eviction algorithm, and concurrent: backed by aConcurrentHashMapand with a non-blocking eviction thread giving
 constant-timeLruBlockCache.cacheBlock(org.apache.hadoop.hbase.io.hfile.BlockCacheKey, org.apache.hadoop.hbase.io.hfile.Cacheable, boolean)andLruBlockCache.getBlock(org.apache.hadoop.hbase.io.hfile.BlockCacheKey, boolean, boolean, boolean)operations. | 
| class  | MemcachedBlockCacheClass to store blocks into memcached. | 
| class  | TinyLfuBlockCacheA block cache that is memory-aware using  HeapSize, memory bounded using the W-TinyLFU
 eviction algorithm, and concurrent. | 
| Modifier and Type | Field and Description | 
|---|---|
| (package private) BlockCache[] | BlockCachesIterator. bcs | 
| private BlockCache | CacheConfig. blockCache | 
| protected BlockCache | CombinedBlockCache. l2Cache | 
| private BlockCache | TinyLfuBlockCache. victimCache | 
| private BlockCache | LruBlockCache. victimHandlerWhere to send victims (blocks evicted/missing from the cache). | 
| Modifier and Type | Field and Description | 
|---|---|
| (package private) Class<? extends BlockCache> | BlockCacheFactory.ExternalBlockCaches. clazz | 
| Modifier and Type | Method and Description | 
|---|---|
| static BlockCache | BlockCacheFactory. createBlockCache(org.apache.hadoop.conf.Configuration conf) | 
| private static BlockCache | BlockCacheFactory. createExternalBlockcache(org.apache.hadoop.conf.Configuration c) | 
| BlockCache[] | LruBlockCache. getBlockCaches() | 
| BlockCache[] | BlockCache. getBlockCaches() | 
| BlockCache[] | TinyLfuBlockCache. getBlockCaches() | 
| BlockCache[] | CombinedBlockCache. getBlockCaches() | 
| BlockCache[] | MemcachedBlockCache. getBlockCaches() | 
| Modifier and Type | Method and Description | 
|---|---|
| Optional<BlockCache> | CacheConfig. getBlockCache()Returns the block cache. | 
| Modifier and Type | Method and Description | 
|---|---|
| static BlockCacheUtil.CachedBlocksByFile | BlockCacheUtil. getLoadedCachedBlocksByFile(org.apache.hadoop.conf.Configuration conf,
                           BlockCache bc)Get a  BlockCacheUtil.CachedBlocksByFileinstance and load it up by iterating content inBlockCache. | 
| private void | HFileReaderImpl. returnAndEvictBlock(BlockCache cache,
                   BlockCacheKey cacheKey,
                   Cacheable block) | 
| void | LruBlockCache. setVictimCache(BlockCache victimCache) | 
| void | FirstLevelBlockCache. setVictimCache(BlockCache victimCache)Specifies the secondary cache. | 
| void | TinyLfuBlockCache. setVictimCache(BlockCache victimCache) | 
| static boolean | BlockCacheUtil. shouldReplaceExistingCacheBlock(BlockCache blockCache,
                               BlockCacheKey cacheKey,
                               Cacheable newBlock)Because of the region splitting, it's possible that the split key locate in the middle of a
 block. | 
| static String | BlockCacheUtil. toJSON(BlockCache bc) | 
| Constructor and Description | 
|---|
| BlockCachesIterator(BlockCache[] blockCaches) | 
| CacheConfig(org.apache.hadoop.conf.Configuration conf,
           BlockCache blockCache) | 
| CacheConfig(org.apache.hadoop.conf.Configuration conf,
           ColumnFamilyDescriptor family,
           BlockCache blockCache,
           ByteBuffAllocator byteBuffAllocator)Create a cache configuration using the specified configuration object and
 family descriptor. | 
| CombinedBlockCache(FirstLevelBlockCache l1Cache,
                  BlockCache l2Cache) | 
| InclusiveCombinedBlockCache(FirstLevelBlockCache l1,
                           BlockCache l2) | 
| Constructor and Description | 
|---|
| ExternalBlockCaches(Class<? extends BlockCache> clazz) | 
| Modifier and Type | Class and Description | 
|---|---|
| class  | BucketCacheBucketCache uses  BucketAllocatorto allocate/free blocks, and uses
 BucketCache#ramCache and BucketCache#backingMap in order to
 determine if a given element is in the cache. | 
| Modifier and Type | Method and Description | 
|---|---|
| BlockCache[] | BucketCache. getBlockCaches() | 
| Modifier and Type | Field and Description | 
|---|---|
| private BlockCache | MetricsRegionServerWrapperImpl. blockCache | 
| private BlockCache | HRegion. blockCache | 
| private BlockCache | HRegionServer. blockCache | 
| Modifier and Type | Method and Description | 
|---|---|
| BlockCache | HRegion. getBlockCache() | 
| Modifier and Type | Method and Description | 
|---|---|
| Optional<BlockCache> | RegionServerServices. getBlockCache() | 
| Optional<BlockCache> | HRegionServer. getBlockCache()May be null if this is a master which not carry table. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | HRegion. setBlockCache(BlockCache blockCache)Only used for unit test which doesn't start region server. | 
| private ResizableBlockCache | HeapMemoryManager. toResizableBlockCache(BlockCache blockCache) | 
| Constructor and Description | 
|---|
| HeapMemoryManager(BlockCache blockCache,
                 FlushRequester memStoreFlusher,
                 Server server,
                 RegionServerAccounting regionServerAccounting) | 
Copyright © 2007–2021 The Apache Software Foundation. All rights reserved.