FIFO Entry Cache
FIFO Entry Caches use a FIFO queue to keep track of the cached entries.
Entries that have been in the cache the longest are the most likely candidates for purging if space is needed. In contrast to other cache structures, the selection of entries to purge is not based on how frequently or recently the entries have been accessed. This requires significantly less locking (it will only be required when an entry is added or removed from the cache, rather than each time an entry is accessed). Cache sizing is based on the percentage of free memory within the JVM, such that if enough memory is free, then adding an entry to the cache will not require purging, but if more than a specified percentage of the available memory within the JVM is already consumed, then one or more entries will need to be removed in order to make room for a new entry. It is also possible to configure a maximum number of entries for the cache. If this is specified, then the number of entries will not be allowed to exceed this value, but it may not be possible to hold this many entries if the available memory fills up first. Other configurable parameters for this cache include the maximum length of time to block while waiting to acquire a lock, and a set of filters that may be used to define criteria for determining which entries are stored in the cache. If a filter list is provided, then only entries matching at least one of the given filters will be stored in the cache.
Parent
The FIFO Entry Cache object inherits from Entry Cache.
FIFO Entry Cache properties
You can use configuration expressions to set property values at startup time. For details, see Property value substitution.
Basic Properties | Advanced Properties |
---|---|
cache-level |
cache-level
Synopsis |
Specifies the cache level in the cache order if more than one instance of the cache is configured. |
Default value |
None |
Allowed values |
An integer. Lower limit: 1. |
Multi-valued |
No |
Required |
Yes |
Admin action required |
None |
Advanced |
No |
Read-only |
No |
enabled
Synopsis |
Indicates whether the Entry Cache is enabled. |
Default value |
None |
Allowed values |
true false |
Multi-valued |
No |
Required |
Yes |
Admin action required |
None |
Advanced |
No |
Read-only |
No |
exclude-filter
Synopsis |
The set of filters that define the entries that should be excluded from the cache. |
Default value |
None |
Allowed values |
A string. |
Multi-valued |
Yes |
Required |
No |
Admin action required |
None |
Advanced |
No |
Read-only |
No |
include-filter
Synopsis |
The set of filters that define the entries that should be included in the cache. |
Default value |
None |
Allowed values |
A string. |
Multi-valued |
Yes |
Required |
No |
Admin action required |
None |
Advanced |
No |
Read-only |
No |
max-entries
Synopsis |
Specifies the maximum number of entries that we will allow in the cache. |
Default value |
2147483647 |
Allowed values |
An integer. Lower limit: 0. |
Multi-valued |
No |
Required |
No |
Admin action required |
None |
Advanced |
No |
Read-only |
No |
max-memory-percent
Synopsis |
Specifies the maximum percentage of JVM memory used by the server before the entry caches stops caching and begins purging itself. |
Description |
Very low settings such as 10 or 20 (percent) can prevent this entry cache from having enough space to hold any of the entries to cache, making it appear that the server is ignoring or skipping the entry cache entirely. |
Default value |
90 |
Allowed values |
An integer. Lower limit: 1. Upper limit: 100. |
Multi-valued |
No |
Required |
No |
Admin action required |
None |
Advanced |
No |
Read-only |
No |
Advanced properties
Use the --advanced
option to access advanced properties.
java-class
Synopsis |
Specifies the fully-qualified name of the Java class that provides the FIFO Entry Cache implementation. |
Default value |
org.opends.server.extensions.FIFOEntryCache |
Allowed values |
A Java class that extends or implements:
|
Multi-valued |
No |
Required |
Yes |
Admin action required |
The object must be disabled and re-enabled for changes to take effect. |
Advanced |
Yes |
Read-only |
No |