Cache2k – Lightweight, high performance Java caching

  •        7046

cache2k focuses on providing a well engineered in-memory object cache implementation for Java applications. It has fastest access times, due to non blocking and wait free access of cached values. It is thread safe, with a complete set of atomic operations. It supports automatic expiry and refresh: duration or point in time, variable expiry per entry, delta calculations.

https://cache2k.org/
https://github.com/cache2k/cache2k

Tags
Implementation
License
Platform

   




Related Projects

Caffeine - A high performance caching library for Java 8

  •    Java

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.

Ehcache

  •    Java

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.

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

  •    Java

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.

FASTER - Fast persistent recoverable log and key-value store + cache, in C# and C++

  •    CSharp

Managing large application state easily, resiliently, and with high performance is one of the hardest problems in the cloud today. The FASTER project offers two artifacts to help tackle this problem. FASTER Log is a high-performance concurrent persistent recoverable log, iterator, and random reader library in C#. FASTER KV is a concurrent key-value store + cache (available in C# and C++) that is designed for point lookups and heavy updates.

Keyv - Simple key-value storage with support for multiple backends

  •    Javascript

Keyv provides a consistent interface for key-value storage across multiple backends via storage adapters. It supports TTL based expiry, making it suitable as a cache or a persistent key-value store. It works with any storage that implements the Map API. It handles all JSON types plus Buffer. It has wide range of efficient, well tested storage adapters.


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

  •    Java

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.

Cacheonix - Open Source Java Cache

  •    Java

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.

Hyperdex - A Searchable Distributed Key-Value Store

  •    C++

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.

Infinispan - Key value NOSQL data store and data grid

  •    Java

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.

Apache Ignite - High performance in-memory data grid

  •    Java

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.

pickleDB - Key-value store using Python's simplejson module

  •    Python

pickleDB is a lightweight and simple key-value store. It is built upon Python's simplejson module and was inspired by redis.

DiskCache - Python disk backed cache (Django-compatible). Faster than Redis and Memcached. Pure-Python

  •    Python

DiskCache is a disk and file backed cache library, written in pure-Python, and compatible with Django. The cloud-based computing of 2021 puts a premium on memory. Gigabytes of empty space is left on disks as processes vie for memory. Among these processes is Memcached (and sometimes Redis) which is used as a cache. It is good to use empty disk space for caching.

Bolt - An embedded key/value database for Go.

  •    Go

Bolt is a pure Go key/value store inspired by Howard Chu's LMDB project. The goal of the project is to provide a simple, fast, and reliable database for projects that don't require a full database server such as Postgres or MySQL.

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

  •    Java

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.

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

  •    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.

Redisson - Redis based In-Memory Data Grid for Java

  •    Java

Redisson - distributed Java objects and services (Set, Multimap, SortedSet, Map, List, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, AtomicLong, Map Reduce, Publish / Subscribe, Bloom filter, Spring Cache, Executor service, Tomcat Session Manager, Scheduler service, JCache API) on top of Redis server. Rich Redis client.

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

  •    C++

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.

Ristretto - A high performance memory-bound Go cache

  •    Go

Ristretto is a fast, concurrent cache library built with a focus on performance and correctness. Its features include Concurrency, High Hit Ratios, Fast Throughput, Cost-Based Eviction, Metrics support.

Reservoir - Android library to easily serialize and cache your objects to disk using key/value pairs

  •    Java

Reservoir is a simple library for Android that allows you to easily serialize and cache your objects to disk using key/value pairs. Reservoir uses the internal cache storage allocated to your app. Before you can do anything, you need to initialize Reservoir with the cache size.

Memcached - distributed object caching system

  •    C

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.