core.cache v0.6.1 Release Notes
core.cache is a new Clojure contrib library providing the following features:
CacheProtocolused as the base abstraction for implementing new synchronous caches
defcachemacro for hooking your
CacheProtocolimplementations into the Clojure associative data capabilities.
Immutable implementations of some basic caching strategies
- First-in-first-out (FIFOCache)
- Least-recently-used (LRUCache)
- Least-used (LUCache)
- Time-to-live (TTLCache)
- Soft-Reference cache (SoftCache)
- Naive cache (BasicCache)
Implementation of an efficient buffer replacement policy based on the low inter-reference recency set algorithm (LIRSCache) described in the LIRS paper
Factory functions for each existing cache type
For Maven-driven projects, use the following slice of XML in your
<dependency> <groupId>org.clojure</groupId> <artifactId>core.cache</artifactId> <version>0.6.1</version> </dependency>
Changes from v0.5.0
The v0.6.1 version of core.cache contains the following changes:
The addition of a cache built on Java soft references
Bug fix for LRU and LU caches disabling the eviction of duplicate keys prior to threshold.
The factory function optional argument named
:limitwas changed to
The default thresholds set by the factory functions were adjusted.
The following capabilities are under design, development, or consideration for future versions of core.cache:
- Make ClojureScript compatible
- Asynchronous caching protocol
- FunCache implementation
- Hardening of the
- test.generative usage
- Deprecation of Clache
- More documentation and examples
More planning is needed around capabilities not listed nor thought of.
I would like to thank Paul Stadig for his work in fixing the