Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

tiny cache helper for Node.JS

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 lib
Octocat-spinner-32 test
Octocat-spinner-32 .gitignore
Octocat-spinner-32 README.md
Octocat-spinner-32 index.js
Octocat-spinner-32 package.json
README.md

Hilmi - tiny cache helper for Node.JS

npm install hilmi

Usage

var hilmi = require("hilmi");

// Create a new bucket
var b = hilmi();

// Set an entry
b.set(key, value, ttlInSeconds function(err)…);
// Get an entry
b.get(key, function(err,data)…);
// Delete an entry
b.delete(key, function(err,data)…);
// Clear a bucket
b.clear(function(err,data)…)

// You can use different storage engines

// Create a bucket and use a LRU memory storw ith capacity 10
var b = hilmi({ store: new hilmi.MemoryStore(10) });
// Create a bucket and use a Redis store and prefix entries with 'cache'
var b = hilmi({ store: new hilmi.RedisStore(10), prefix: "cache" });    

// Cache shortcut method
b.cache(key, function miss(next) {
    // In case the entry is not in sotage, generate it and call next with the data
    // This function will not be called if the entry is already cached
    // TTL is optional, you can provide it in parent function call too.
    next(err, data, ttl);
}, function(err, data) {
    // data has been fetched from cache or freshly generated.
}, ttl);

License

MIT

Something went wrong with that request. Please try again.