Apache Commons JCS - Java Caching System

  •        4228

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. Its feature include Memory management, Element grouping, Data expiration, UDP Discovery of other caches, Key pattern matching retrieval, Remote server chaining (or clustering) and failover, Remote synchronization, Region data separation and configuration and lot more.

http://commons.apache.org/jcs/

Tags
Implementation
License
Platform

   




Related Projects

Ehcache


Ehcache is an open source, standards-based cache used to boost performance, offload the database and simplify scalability. Ehcache is robust, proven and full-featured and this has made it the most widely-used Java-based cache.

Hyperdex - A Searchable Distributed Key-Value Store


HyperDex is a distributed, searchable key-value store. HyperDex provides a unique search primitive which enables searches over stored values. By design, HyperDex retains the performance of traditional key-value stores while enabling support for the search operation. It is fast, scalable, Consistent, Fault tolerant.

Chronicle Map - High performance, off-heap, key-value, in memory, persisted data store


Chronicle Map is a high performance, off-heap, key-value, in memory, persisted data store. It works like a standard java map yet it automatically distributes data between processes, these processes can be both on the same server or across your network. In other words its a low latency, huge data key value store, which can store terabytes of data locally to your process.

Memcached - distributed object caching system


Memcached is high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load. Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering.

Infinispan - Key value NOSQL data store and data grid


Infinispan is an extremely scalable, highly available key/value NoSQL datastore and distributed data grid platform. The purpose of Infinispan is to expose a data structure that is highly concurrent, designed ground-up to make the most of modern multi-processor/multi-core architectures while at the same time providing distributed cache capabilities. Infinispan offers enterprise features such as efficient eviction algorithms to control memory usage as well as JTA compatibility.


Cacheonix - Open Source Java Cache


Cacheonix is an Open Source Java cache that allows developers to scale applications horizontally by providing a highly concurrent local cache and a strictly consistent distributed cache. It supports Distributed cache, Web application cache, Distributed lock, Second level (L2) cache.

Dynomite - Making Non-Distributed Databases, Distributed


Dynomite, inspired by Dynamo whitepaper, is a thin, distributed dynamo layer for different storages and protocols. Dynomite is a sharding and replication layer. Dynomite can make existing non distributed datastores, such as Redis or Memcached, into a fully distributed & multi-datacenter replicating datastore.

Apache Ignite - High performance in-memory data grid


Apache Ignite In-Memory Data Fabric is a high-performance, integrated and distributed in-memory platform for computing and transacting on large-scale data sets in real-time, orders of magnitude faster than possible with traditional disk-based or flash technologies.

membase - distributed key-value database


Membase is an distributed, key-value database management system optimized for storing data behind interactive web applications. These applications must service many concurrent users, creating, storing, retrieving, aggregating, manipulating and presenting data in real-time. Supporting these requirements, membase processes data operations with quasi-deterministic low latency and high sustained throughput.

Caffeine - A high performance caching library for Java 8


Caffeine is a high performance, near optimal caching library based on Java 8. It provides an in-memory cache using a Google Guava inspired API.

cache2k – High Performance Java Caching


cache2k focuses on providing a well engineered in-memory object cache implementation for Java applications.

Apache Accumulo - Key Value Store based on Google BigTable


The Apache Accumulo sorted, distributed key/value store is a robust, scalable, high performance data storage and retrieval system. Apache Accumulo is based on Google's BigTable design and is built on top of Apache Hadoop, Zookeeper, and Thrift. Apache Accumulo features a few novel improvements on the BigTable design in the form of cell-based access control and a server-side programming mechanism that can modify key/value pairs at various points in the data management process.

Apache Geode - Distributed, In-memory Database for Scale-Out Applications


Apache Geode is distributed, in-memory database for scale-out applications. All data is stored in-memory for low latency. Performance scales linearly as nodes are added. Data is distributed automatically between nodes to optimize performance. Clusters fail-over to other nodes in case of failures, and rebalance remaining resources. Geode servers can be configured to talk memcached protocol.

bigcache - Efficient cache for gigabytes of data written in Go.


Fast, concurrent, evicting in-memory cache written to keep big number of entries without impact on performance. BigCache keeps entries on heap but omits GC for them. To achieve that operations on bytes arrays take place, therefore entries (de)serialization in front of the cache will be needed in most use cases.

ForestDB - A Fast Key-Value Storage Engine Based on Hierarchical B+-Tree Trie


ForestDB is a key-value storage engine developed by Couchbase Caching and Storage Team, and its main index structure is built from Hierarchical B+-Tree based Trie, called HB+-Trie. ForestDB paper has been published in IEEE Transactions on Computers.

YapDatabase - YapDatabase is an extensible database for iOS & Mac.


Concurrency. You can read from the database while another thread is simultaneously making modifications to the database. So you never have to worry about blocking the main thread, and you can easily write to the database on a background thread. And, of course, you can read from the database on multiple threads simultaneously. Built-In Caching. A configurable object cache is built-in. Of course sqlite has caching too. But it's caching raw serialized bytes, and we're dealing with objects. So having a built-in cache means you can skip the deserialization process, and get your objects much faster.

JetCache - Java cache abstraction which provides consistent use for various caching solutions


JetCache is a Java cache abstraction which provides consistent use for various caching solutions. Presently it support Redis and Alibaba Tair and Caffeine cache as embedded cache.

TomP2P - A P2P-based high performance key-value pair storage library


TomP2P is a P2P library and a distributed hash table (DHT) implementation which provides a decentralized key-value infrastructure for distributed applications. Each peer has a table that can be configured either to be disk-based or memory-based to store its values. TomP2P stores key-value pairs in a distributed manner. To find the peers to store the data in the distributed hash table, TomP2P uses an iterative routing to find the closest peers. Since TomP2P uses non-blocking communication, a future object is required to keep track of future results. This key concept is used for all the communication (iterative routing and DHT operations, such as storing a value on multiple peers) in TomP2P and it is also exposed in the API. Thus, an operation such as get or put will return immediately and the user can either block the operation to wait for the completion or add a listener that gets notified when the operation completes.

scalacache - Simple caching in Scala


A facade for the most popular cache implementations, with a simple, idiomatic Scala API.Use ScalaCache to add caching to any Scala app with the minimum of fuss.

Akavache - An asynchronous, persistent key-value store


Akavache is an asynchronous, persistent (i.e. writes to disk) key-value store created for writing desktop and mobile applications in C#, based on SQLite3. Akavache is great for both storing important data (i.e. user settings) as well as cached local data that expires. Downloading and storing remote data from the internet while still keeping the UI responsive is a task that nearly every modern application needs to do. However, many applications that don't take the consideration of caching into the design from the start often end up with inconsistent, duplicated code for caching different types of objects.