Performant caching for Deno
This library aims to bring you in memory caching, while trying to be as performant as possible for a high level language. Several caching policies are supported. Keys can have a timeout (ttl) after which they expire and are deleted from the cache. And the events can be emitted for different cache opterations.
With Deno it's very easy to use third party libraries. Just import from one of the following urls.
- from
deno.land/x
import { [cache-name] } from "https://deno.land/x/velo@0.1.4/mod.ts";- from
nest.land
import { [cache-name] } from "https://x.nest.land/velo@0.1.4/mod.ts";- ARC Cache (adaptive-replacement-cache)
- LFU Cache (least-frequently-used)
- LRU Cache (least-recently-used)
- RR Cache (random-replacement)
- SC Cache (second-chance)
- SLRU Cache (segmented-least-recently-used)
All caches share the same set of methods.
import { LRU } from "https://deno.land/x/velo@0.1.4/mod.ts";
const lru = new LRU({ capacity: 5 });
lru.set(1, 1);
lru.get(1);
lru.delete(1);
lru.set(2, 2, 60000); // with ttl
// event
lru.on("expired", (k, v) => {
console.log(k, v);
});For more detailed examples take a look at the examples folder.
If you want to contribute to the project please read through our contributing guidelines.