asmuts 2004/07/13 21:45:32
Added: xdocs Plugins.xml
Log:
Plugin overview documentation
Revision Changes Path
1.1 jakarta-turbine-jcs/xdocs/Plugins.xml
Index: Plugins.xml
===================================================================
<?xml version="1.0"?>
<document>
<properties>
<title>JCS Plugin Overview</title>
<author email="ASmuts@xxxxxxxxxxxx">Aaron Smuts</author>
</properties>
<body>
<section name="JCS Plugin Overview">
<p>
JCS provides multiple auxiliaries which can be plugged into a cache
region, in a manner similar to adding Log4j appenders to a logger.
JCS auxiliaries are defined in the cache.ccf file. You can specify
which plugins a particular cache region should use.
</p>
<p>
There are four types of auxiliaries: (1) memory, (2) disk, (3) lateral,
and (4) remote. Each region is required to have one and only one
memory auxiliary. No other auxiliaries are required and any possible
combination of disk, lateral, and remote auxiliaries is allowed. If you
Do not want to store items in memory, then the maximum size for the
memory
Caches can be set to 0 on a per region basis.
</p>
</section>
<section name="Memory Plugins">
<p>
Currently, JCS provides four memory management options: (1)
LRUMemoryCache, (2) LHMLRUMemoryCache, (3) MRUMemoryCache, and (4)
ARCMemoryCache. All memory caches restrict the number of items that can
be stored in memory per region. If a disk cache is configured for the region,
the items will be spooled to disk when the memory capacity is reached. JCS
enforces configurable parameters such as time to live and maximum idle
time. Expired elements can be cleaned up by the ShrinkerThread,
otherwise they will be removed at the next retrieval attempt or when the
capacity is reached.
<p>
The LRUMemoryCache is the currently recommended plugin. Upon
misconfiguration it is used as the default. The LRUMemoryCache removes
the least recently used items when the cache is full.
</p>
<p>
The ARCMemoryCache is currently experimental, but will be fully tested
soon. It implements an adaptive replacement caching algorithm that
combines an LRU and an LFU that adapt to usage patterns.
</p>
</section>
<section name="Disk Plugins">
<p>
JCS provides several disk swap options: indexed disk, HSQL, JISP, and
Berkeley DB JE. The IndexedDiskCache is the recommended disk cache. It
maintains the cached data on disk and the keys in memory for the fastest
possible lookup times. Writing to disk is done asynchronously. Items are
typically put in purgatory and queued for background disk writing. While
in purgatory, the items remain available.
</p>
<p>
In addition, JCS provides a disk auxiliary that uses the Berkeley DB
Java Edition for disk storage. JCS can effectively function as an
expiration manager and distribution mechanism on top of a Berkeley DB JE.
</p>
</section>
<section name="Lateral Plugins">
<p>
JCS provides two recommended lateral distribution options: TCP socket
server distribution and JGroups (or JavaGroups). There are also several
other experiemental lateral distribution auxiliaries using servlets, UDP,
and xmlrpc.
</p>
</section>
<section name="Remote Plugins">
<p>
JCS also provides an RMI based remote server to manage distribution of
cached data.
</p>
</section>
</body>
</document>
|