core.cache is a new Clojure contrib library providing the following features:
An underlying CacheProtocol
used as the base abstraction for implementing new synchronous caches
A defcache
macro for hooking your CacheProtocol
implementations into the Clojure associative data capabilities.
Immutable implementations of some basic caching strategies
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
You can use core.cache in your Leiningen and Cake projects with the following :dependencies
directive in your project.clj
file:
[org.clojure/core.cache "0.6.1"]
For Maven-driven projects, use the following slice of XML in your pom.xml
's <dependencies>
section:
<dependency>
<groupId>org.clojure</groupId>
<artifactId>core.cache</artifactId>
<version>0.6.1</version>
</dependency>
Enjoy!
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 :limit
was changed to :threshold
.
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:
LIRSCache evict
seed
function implementationsMore planning is needed around capabilities not listed nor thought of.
Can you improve this documentation? These fine people already did:
Alex Miller, Sean Corfield & fogusEdit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close