| Modifier and Type | Field and Description |
|---|---|
static int |
DFLT_PAGES_LIST_CACHING_EMPTY_FLUSH_GC_THRESHOLD |
static int |
DFLT_PAGES_LIST_CACHING_MAX_CACHE_SIZE |
static int |
DFLT_PAGES_LIST_CACHING_STRIPES_COUNT |
static String |
IGNITE_PAGES_LIST_CACHING_EMPTY_FLUSH_GC_THRESHOLD |
static String |
IGNITE_PAGES_LIST_CACHING_MAX_CACHE_SIZE |
static String |
IGNITE_PAGES_LIST_CACHING_STRIPES_COUNT |
| Constructor and Description |
|---|
PagesCache(@Nullable AtomicLong pagesCacheLimit)
Default constructor.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
add(long pageId)
Add pageId to the tail of the list.
|
GridLongList |
flush()
Flush all stripes to one list and clear stripes.
|
long |
poll()
Poll next page from the list.
|
boolean |
removePage(long pageId)
Remove page from the list.
|
int |
size()
Cache size.
|
public static final int DFLT_PAGES_LIST_CACHING_MAX_CACHE_SIZE
public static final int DFLT_PAGES_LIST_CACHING_STRIPES_COUNT
public static final int DFLT_PAGES_LIST_CACHING_EMPTY_FLUSH_GC_THRESHOLD
@SystemProperty(value="Pages cache maximum size", type=java.lang.Long.class, defaults="64") public static final String IGNITE_PAGES_LIST_CACHING_MAX_CACHE_SIZE
@SystemProperty(value="Stripes count. Must be power of 2", type=java.lang.Long.class, defaults="4") public static final String IGNITE_PAGES_LIST_CACHING_STRIPES_COUNT
@SystemProperty(value="The threshold of flush calls on empty caches to allow GC of stripes (the flush is triggered two times per checkpoint)", type=java.lang.Long.class, defaults="10") public static final String IGNITE_PAGES_LIST_CACHING_EMPTY_FLUSH_GC_THRESHOLD
public PagesCache(@Nullable
@Nullable AtomicLong pagesCacheLimit)
public boolean removePage(long pageId)
pageId - Page id.True if page was found and succesfully removed, false if page not found.public long poll()
public GridLongList flush()
public boolean add(long pageId)
pageId - Page id.True if page can be added, false if list is full.public int size()
Follow @ApacheIgnite
Ignite Database and Caching Platform : ver. 2.15.0 Release Date : April 25 2023