3.2.3 • Published 10 years ago

store-ttl v3.2.3

Weekly downloads
7
License
ISC
Repository
github
Last release
10 years ago

a simple key value store that support ttl,and you can custom setter,getter,remove function such as redis.

Build Status via Travis CI Coverage Status

install

npm install store-ttl

usage

node_redis demo :

var redis = require("redis"),
  client = redis.createClient(6379,'localhost');

var STORE = require('store-ttl');
var storeInstance = new STORE({
  set:function(key,data,ttl,callback){
    client.SETEX(key,ttl,data,function(err,reply){
      callback(err,reply);
    });
  },
  get:function(key,callback){
    client.GET(key,function(err,reply){
      callback(err,reply);
    });
  },
  remove:function(key,callback){
    client.DEL(key,function(err,data){
      callback(err,data);
    }); 
  },
  ttl:60, //the unit is second,defualt one day.
  ttlUnit:true, //if true ttl is milliseconds but second
  namespace:'test-store-ttl', //default:store-ttl-
  autoClean: false, //default to false, just valid when not custom set, get ,remove function.
  cleanTimeoutSecond: 300 //default to 5 minutes, when autoClean is true.
});
storeInstance.set('test-redis','ok',10,function(err,data){
  console.log(err,data);
})
storeInstance.get('test-redis',function(err,data){
  console.log(err,data);//data:ok
})
setTimeout(function(){
  storeInstance.get('test-redis',function(err,data){
    console.log(err,data);//data:null
  })
},10001)

API

set

storeInstance.set('test-redis','ok',10,function(err,data){
  console.log(err,data);
})

get

storeInstance.get('test-redis',function(err,data){
  console.log(err,data);
})

update

storeInstance.update('test-redis','update-ok',function(err,data){
  console.log(err,data);
})

remove

storeInstance.remove('test-redis',function(err,data){
  console.log(err);
})

getNameSpace

console.log(storeInstance.getNameSpace());//test-store-ttl

test

//test
npm test

//coverage

npm run cov

code coverage

=============================== Coverage summary ===============================
Statements   : 98.2% ( 109/111 )
Branches     : 84% ( 42/50 )
Functions    : 96.15% ( 25/26 )
Lines        : 98.2% ( 109/111 )
================================================================================

version:

  • 3.x.x
    1. support redis client set object
  • 2.x.x
    1. api return json : {data:orignData,ttl:ttl,expire:expire}.
    2. add update api.
  • 1.x.x api return origin data
3.2.3

10 years ago

3.2.2

10 years ago

3.2.1

10 years ago

3.2.0

10 years ago

3.1.0

10 years ago

3.0.0

10 years ago

2.0.0

10 years ago

1.0.0

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago