Package herddb.core
Interface PageReplacementPolicy
-
- All Known Implementing Classes:
ClockAdaptiveReplacement,ClockProPolicy,RandomPageReplacementPolicy
public interface PageReplacementPolicyCache replacement policy for memory pagination.A
PageReplacementPolicywill not load or unload memory pages but will keep track of their usage and instruct the system about which page need to be replaced.- Author:
- diego.salvi
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Page.Metadataadd(Page<?> page)Add a newPageto memory.intcapacity()Returns the maximum number ofPagesmemorizable.voidclear()Clear any memorized data.voidpageHit(Page<?> page)Track a page cache hit.booleanremove(Page<?> page)Remove aPagefrom memory.<P extends Page<?>>
voidremove(Collection<P> pages)Remove manyPage Pagesfrom memory.intsize()Returns the current number ofPagesmemorized.
-
-
-
Method Detail
-
pageHit
void pageHit(Page<?> page)
Track a page cache hit.- Parameters:
page- for which track an hit
-
add
Page.Metadata add(Page<?> page)
Add a newPageto memory.Adding a new page could force an older page to be unloaded
- Parameters:
page- page to be added- Returns:
- selected page to be unloaded or
null
-
remove
boolean remove(Page<?> page)
Remove aPagefrom memory.- Parameters:
page- page to be removed.- Returns:
trueif the memory really contained the given page
-
remove
<P extends Page<?>> void remove(Collection<P> pages)
Remove manyPage Pagesfrom memory.This method is logically equivalent to multiple
remove(Page)invocations but is expected to be more efficient.- Parameters:
pages- pages to be removed.
-
size
int size()
Returns the current number ofPagesmemorized.- Returns:
- current number of Pages
-
capacity
int capacity()
Returns the maximum number ofPagesmemorizable.- Returns:
- maximum number of Pages
-
clear
void clear()
Clear any memorized data.
-
-