Get unlimited public & private packages + team-based management with npm Teams.Learn more »

pgcachedb

1.1.5 • Public • Published

pgcachedb

Using PostgreSQL database for a persistant object cache. This packaged is designed to easily store large amounts of data directly into a PostgreSQL database for retrival at a later date. It's not as fast as using memory based storage or file based storage.

Warnings

Requires PostgreSQL 9.1 or greater

Key length currently limited to 128 characters

Installation

npm install pgcachedb --save

Usage

Current default cache lifetime is 6 hours, future versions will allow this to be modified.

Basic Example

var cache = require('pgcachedb');
 
cache.setCache('url','https://github.com', function(){
 
    cache.getCache('url', function(err,data){
        console.log(data);
    });
 
});

setCache

Store a value into cache based on a key

var cache = require('pgcachedb');
 
cache.setCache('test', Math.random(), function(){});
 
cache.setCache('test2', Math.random(), function(){});
 
cache.setCache('test3', Math.random(), function(){});

getCache

Retrieve a value from cache based on a key

var cache = require('pgcachedb');
 
cache.setCache('url','https://github.com', function(){
 
    cache.getCache('url', function(err,data){
        console.log(data);
    });
 
});

The following are not yet ported

getKeys

Gets all the keys from cache

var cache = require('sqlcachedb');
 
cache.setCache('test', Math.random(), function(){});
 
cache.setCache('test2', Math.random(), function(){});
 
cache.setCache('test3', Math.random(), function(){});
 
cache.getKeys(function(err, keys){
    console.log(keys);
})

getActiveKeys

Gets all the keys from cache updated within cache lifetime

var cache = require('sqlcachedb');
 
cache.setCache('test', Math.random(), function(){});
 
cache.setCache('test2', Math.random(), function(){});
 
cache.setCache('test3', Math.random(), function(){});
 
cache.getActiveKeys(function(err, keys){
    console.log(keys);
});

purgeKey

Remove data from cache based on key

var cache = require('sqlcachedb');
 
cache.setCache('test4', 'Houdini', function(){
 
    cache.getCache('test4',function(err, data){
        console.log('test4: '+data);
        
        cache.purgeKey('test4', function(err){
 
            cache.getCache('test4',function(err, data){
                console.log('test4: '+data);
            });
        });
    });
});

purgeCache

Remove all data from cache
var cache = require('sqlcachedb');
 
cache.purgeCache(function(){
    cache.getKeys(function(err, keys){
        console.log(keys);
    });
});

cleanCache

Remove all data from cache which has expired

var cache = require('sqlcachedb');
 
cache.cleanCache(function(){
    cache.getKeys(function(err, keys){
        console.log(keys);
    });
});

Note: This package is in Alpha stages, probably should not have been published to the repository in it's current state.

caveat emptor

NPM

Install

npm i pgcachedb

DownloadsWeekly Downloads

1

Version

1.1.5

License

MIT

Last publish

Collaborators

  • avatar