|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
@InterfaceAudience.Private public interface BlockCache
Block cache interface. Anything that implements the Cacheable
interface can be put in the cache.
| Method Summary | |
|---|---|
void |
cacheBlock(BlockCacheKey cacheKey,
Cacheable buf)
Add block to cache (defaults to not in-memory). |
void |
cacheBlock(BlockCacheKey cacheKey,
Cacheable buf,
boolean inMemory)
Add block to cache. |
boolean |
evictBlock(BlockCacheKey cacheKey)
Evict block from cache. |
int |
evictBlocksByHfileName(String hfileName)
Evicts all blocks for the given HFile. |
Cacheable |
getBlock(BlockCacheKey cacheKey,
boolean caching,
boolean repeat,
boolean updateCacheMetrics)
Fetch block from cache. |
BlockCache[] |
getBlockCaches()
|
long |
getBlockCount()
Returns the number of blocks currently cached in the block cache. |
long |
getCurrentSize()
Returns the occupied size of the block cache, in bytes. |
long |
getFreeSize()
Returns the free size of the block cache, in bytes. |
CacheStats |
getStats()
Get the statistics for this block cache. |
Iterator<CachedBlock> |
iterator()
|
void |
shutdown()
Shutdown the cache. |
long |
size()
Returns the total size of the block cache, in bytes. |
| Method Detail |
|---|
void cacheBlock(BlockCacheKey cacheKey,
Cacheable buf,
boolean inMemory)
cacheKey - The block's cache key.buf - The block contents wrapped in a ByteBuffer.inMemory - Whether block should be treated as in-memory
void cacheBlock(BlockCacheKey cacheKey,
Cacheable buf)
cacheKey - The block's cache key.buf - The object to cache.
Cacheable getBlock(BlockCacheKey cacheKey,
boolean caching,
boolean repeat,
boolean updateCacheMetrics)
cacheKey - Block to fetch.caching - Whether this request has caching enabled (used for stats)repeat - Whether this is a repeat lookup for the same block
(used to avoid double counting cache misses when doing double-check locking)updateCacheMetrics - Whether to update cache metrics or not
boolean evictBlock(BlockCacheKey cacheKey)
cacheKey - Block to evict
int evictBlocksByHfileName(String hfileName)
CacheStats getStats()
void shutdown()
long size()
long getFreeSize()
long getCurrentSize()
long getBlockCount()
Iterator<CachedBlock> iterator()
iterator in interface Iterable<CachedBlock>BlockCache[] getBlockCaches()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||