Author: asmuts Date: Wed Nov 19 13:27:55 2008 New Revision: 719080 URL: http://svn.apache.org/viewvc?rev=719080&view=rev Log: updating index page
Modified: jakarta/jcs/trunk/xdocs/index.xml Modified: jakarta/jcs/trunk/xdocs/index.xml URL: http://svn.apache.org/viewvc/jakarta/jcs/trunk/xdocs/index.xml?rev=719080&r1=719079&r2=719080&view=diff ============================================================================== --- jakarta/jcs/trunk/xdocs/index.xml (original) +++ jakarta/jcs/trunk/xdocs/index.xml Wed Nov 19 13:27:55 2008 @@ -1,62 +1,37 @@ <?xml version="1.0"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. ---> - + <!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to you under the Apache License, Version + 2.0 (the "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 Unless required by + applicable law or agreed to in writing, software distributed under the + License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + CONDITIONS OF ANY KIND, either express or implied. See the License for + the specific language governing permissions and limitations under the + License. + --> <document> <properties> <title>Java Caching System</title> <author email="[EMAIL PROTECTED]">Aaron Smuts</author> </properties> - <body> - <section name="News (2007-06-05): Version 1.3 is available"> - <p> - The Java Caching System, version 1.3 has been released. - This release is actually the first official release of JCS. - You can download it from the - <a href="DownloadPage.html">Download</a> page. - </p> - <p> - <b>Note:</b> The project object model file (POM) of JCS has been - updated to fix an error that prevented it from being mirrored to - the Maven-1 Repositories. Signature and MD5 checksum have been - updated accordingly. - </p> - </section> <section name="Java Caching System"> <p> - JCS is a distributed caching system written in java. It - is intended to speed up applications by providing a - means to manage cached data of various dynamic natures. - Like any caching system, JCS is + JCS is a distributed caching system written in java. It is intended + to speed up applications by providing a means to manage cached data + of various dynamic natures. Like any caching system, JCS is <a href="UsingJCSBasicWeb.html">most useful</a> - for high read, low put applications. Latency times drop - sharply and bottlenecks move away from the database in - an effectively cached system. - <a href="getting_started/intro.html"> - Learn how to start using JCS. - </a> - </p> - <p> - The JCS goes beyond simply caching objects in memory. It - provides numerous additional features: + for high read, low put applications. Latency times drop sharply and + bottlenecks move away from the database in an effectively cached + system. + <a href="getting_started/intro.html"> Learn how to start using JCS.</a> </p> + <p> The JCS goes beyond simply caching objects in memory. It provides + numerous additional features:</p> <ul> <li>Memory management</li> <li>Disk overflow (and defragmentation)</li> @@ -72,166 +47,134 @@ <li>Remote synchronization</li> <li>Remote store recovery</li> <li>Non-blocking "zombie" (balking facade) pattern</li> - <li> - Lateral distribution of elements via HTTP, TCP, or - UDP - </li> + <li> Lateral distribution of elements via HTTP, TCP, or UDP</li> <li>UDP Discovery of other caches</li> <li>Element event handling</li> - <li> - Remote server chaining (or clustering) and failover - </li> + <li> Remote server chaining (or clustering) and failover</li> + <li>Custom event logging hooks</li> + <li>Custom event queue injection</li> + <li>Custom object serializer injection</li> + <li>Key pattern matching retrieval</li> + <li>Network efficient multi-key retrieval</li> </ul> - <p> - JCS works on JDK versions 1.3 and up. It only has two - dependencies: Commons Logging and Doug Lea's Util - Concurrent. - </p> + <p> JCS works on JDK versions 1.4 and up. It only has two + dependencies: Commons Logging and Doug Lea's Util Concurrent.</p> </section> - <section name="JCS is a Composite Cache"> <p> - The foundation of JCS is the Composite Cache, which is - the + The foundation of JCS is the Composite Cache, which is the <a href="Plugins.html">pluggable</a> - controller for a cache region. Four types of caches can - be plugged into the Composite Cache for any given - region: (1) Memory, (2) Disk, (3) Lateral, and (4) - Remote. The Composite Cache orchestrates access to the - various caches configured for use in a region. - </p> - <p> - The JCS jar provides production ready implementations of - each of the four types of caches. In addition to the core - four, JCS also provides additional plugins of each type. - </p> - + controller for a cache region. Four types of caches can be plugged + into the Composite Cache for any given region: (1) Memory, (2) Disk, + (3) Lateral, and (4) Remote. The Composite Cache orchestrates access + to the various caches configured for use in a region. + </p> + <p> The JCS jar provides production ready implementations of each of + the four types of caches. In addition to the core four, JCS also + provides additional plugins of each type.</p> <subsection name="LRU Memory Cache"> <p> - The LRU Memory Cache is an extremely fast, highly - configurable - <a href="RegionProperties.html"> - memory cache - </a> - . It uses a Least Recently Used algorithm to manage - the number of items that can be stored in memory. - The LRU Memory Cache uses its own LRU Map - implementation that is significantly faster than - both the commons LRUMap implementation and the - LinkedHashMap that is provided with JDK1.4 up. This - makes JCS faster than its + The LRU Memory Cache is an extremely fast, highly configurable + <a href="RegionProperties.html"> memory cache</a> + . It uses a Least Recently Used algorithm to manage the number of + items that can be stored in memory. The LRU Memory Cache uses its + own LRU Map implementation that is significantly faster than both + the commons LRUMap implementation and the LinkedHashMap that is + provided with JDK1.4 up. This makes JCS faster than its <a href="JCSvsEHCache.html">competitors</a> . </p> </subsection> - <subsection name="Indexed Disk Cache"> <p> The - <a href="IndexedDiskAuxCache.html"> - Indexed Disk Cache - </a> + <a href="IndexedDiskAuxCache.html"> Indexed Disk Cache</a> + is a fast, reliable, and + <a href="IndexedDiskCacheProperties.html"> highly configurable</a> + swap for cached data. The indexed disk cache follows the fastest + pattern for disk swapping. Cache elements are written to disk via a + continuous queue-based process. The length of the item is stored in + the first few bytes of the entry. The offset is stored in memory + and can be reference via the key. When items are removed from the + disk cache, the location and size are recorded and reused when + possible. Every aspect of the disk cache is configurable, and a + thread pool can be used to reduce the number of queue worker + threads across the system. + </p> + </subsection> + <subsection name="JDBC Disk Cache"> + <p> + The + <a href="JDBCDiskCache.html"> JDBC Disk Cache</a> is a fast, reliable, and - <a href="IndexedDiskCacheProperties.html"> - highly configurable - </a> - swap for cached data. The indexed disk cache follows - the fastest pattern for disk swapping. Cache - elements are written to disk via a continuous - queue-based process. The length of the item is - stored in the first few bytes of the entry. The - offset is stored in memory and can be reference via - the key. When items are removed from the disk cache, - the location and size are recorded and reused when - possible. Every aspect of the disk cache is - configurable, and a thread pool can be used to - reduce the number of queue worker threads across the - system. + <a href="JDBCDiskCacheProperties.html"> highly configurable</a> + disk cache. It stores both the keys and elements in a JDBC + compatible database. The JDBC disk cache stores elements in + a database as BLOBs. Periodically, the table is swept to remove + expired elements. Multiple instances can be configured to use a + common connection pool. A thread pool can be used to reduce the + number of queue worker threads across the system. The + <a href="MySQLDiskCacheProperties.html">MySQL version of the JDBC Disk Cache</a> + can optimize and repair tables. </p> </subsection> - <subsection name="TCP Lateral Cache"> <p> The - <a href="LateralTCPAuxCache.html"> - TCP Lateral Cache - </a> - provides an easy way to distribute cached data to - multiple servers. It comes with a + <a href="LateralTCPAuxCache.html"> TCP Lateral Cache</a> + provides an easy way to distribute cached data to multiple servers. + It comes with a <a href="LateralUDPDiscovery.html">UDP discovery</a> - mechanism, so you can add nodes without having to - reconfigure the entire farm. The TCP Lateral Cache - works by establishing connections with socket server - running on other nodes. Each node maintains a - connection to every other. Only one server is needed - for any number of regions. The client is able to - re-establish connections if it looses its connection - with another server. The TCP Lateral is - <a href="LateralTCPProperties.html"> - highly configurable - </a> - . You can choose to only send data, to not look for - data on other servers, to send removes instead of - puts, and to filter removes based on hash codes. + mechanism, so you can add nodes without having to reconfigure the + entire farm. The TCP Lateral Cache works by establishing + connections with socket server running on other nodes. Each node + maintains a connection to every other. Only one server is needed + for any number of regions. The client is able to re-establish + connections if it looses its connection with another server. The + TCP Lateral is + <a href="LateralTCPProperties.html"> highly configurable</a> + . You can choose to only send data, to not look for data on other + servers, to send removes instead of puts, and to filter removes + based on hash codes. </p> </subsection> - <subsection name="RMI Remote Cache"> <p> JCS also provides an RMI based - <a href="RemoteAuxCache.html"> - Remote Cache Server - </a> - . Rather than having each node connect to every - other node, you can use the remote cache server as - the connection point. Each node connects to the - remove server, which then broadcasts events to the - other nodes. To maintain consistency across a - cluster without incurring the overhead of - serialization, you can decide to send invalidation - messages to the other locals rather than send the - object over the wire. The remote cache server holds - a serialized version of your objects, so it does not - need to be deployed with your class libraries. The - remote servers can be chained and a list of failover - servers can be configured on the client. + <a href="RemoteAuxCache.html"> Remote Cache Server</a> + . Rather than having each node connect to every other node, you can + use the remote cache server as the connection point. Each node + connects to the remove server, which then broadcasts events to the + other nodes. To maintain consistency across a cluster without + incurring the overhead of serialization, you can decide to send + invalidation messages to the other locals rather than send the + object over the wire. The remote cache server holds a serialized + version of your objects, so it does not need to be deployed with + your class libraries. The remote servers can be chained and a list + of failover servers can be configured on the client. </p> </subsection> </section> - <section name="What JCS is not"> - <p> - JCS is not a tag library or a web specific application. - JCS is a general purpose caching system that can be used - in web applications, services, and stand alone Java - applications. - </p> - <p> - JCS is not a transactional distribution mechanism. - Transactional distributed caches are not scalable. JCS - is a cache not a database. The distribution mechanisms - provided by JCS can scale into the tens of servers. In a - well-designed service oriented architecture, JCS can be - used in a high demand service with numerous nodes. This - would not be possible if the distribution mechanism were - transactional. - </p> - <p> - JCS does not use AOP. JCS is a high performance, - non-invasive cache. It does not manipulate your objects - so it can just send a field or two fewer over the wire. - </p> - <p> - JCS is not a fork, an offshoot, a branch, or any other - derivation of JCS. Nor is JCS named after another - library. JCS is a mature project that has been under - development and in use since 2001. Over the years JCS - has encorporated numerous bug fixes and has added dozens - of features, making it the best designed and most - feature rich caching solution available. - </p> + <p> JCS is not a tag library or a web specific application. JCS is a + general purpose caching system that can be used in web applications, + services, and stand alone Java applications.</p> + <p> JCS is not a transactional distribution mechanism. Transactional + distributed caches are not scalable. JCS is a cache not a database. + The distribution mechanisms provided by JCS can scale into the tens + of servers. In a well-designed service oriented architecture, JCS + can be used in a high demand service with numerous nodes. This would + not be possible if the distribution mechanism were transactional. + </p> + <p> JCS does not use AOP. JCS is a high performance, non-invasive + cache. It does not manipulate your objects so it can just send a + field or two fewer over the wire.</p> + <p> JCS is not a fork, an offshoot, a branch, or any other derivation + of JCS. Nor is JCS named after another library. JCS is a mature + project that has been under development and in use since 2001. Over + the years JCS has encorporated numerous bug fixes and has added + dozens of features, making it the best designed and most feature + rich caching solution available.</p> </section> - </body> -</document> - +</document> \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]