| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
OST Cache is the central cache implementation for all OST products and can easily be plugged-in.
It contains three caching engines. The decision of which caching engine to use is governed while creating the cache object. The caching engines implemented are:
There is 1 parameter required while creating the cache implementer.
configStrategy = {
cache: {
engine: "none/redis/memcache"
}
};Below are the examples:
// import the cache module
const OSTCache = require('@ostdotcom/cache');// configStrategy for redis engine
configStrategy = {
cache: {
engine: "redis",
host: "localhost",
port: "6830",
password: "dsdsdsd",
enableTsl: "0",
defaultTtl: 36000,
consistentBehavior: "1"
}
}// configStrategy for memcached engine
configStrategy = {
cache: {
engine: "memcached",
servers: ["127.0.0.1:11211"],
defaultTtl: 36000,
consistentBehavior: "1"
}
}// configStrategy for in-memory engine
configStrategy = {
cache: {
engine: "none",
namespace: "A",
defaultTtl: "36000",
consistentBehavior: "1"
}
}npm install @ostdotcom/cache --saveOSTCache = require('@ostdotcom/cache');
OSTCache = OSTCache.getInstance(configStrategy);
cacheImplementer = OSTCache.cacheInstance;cacheImplementer.set('testKey', 'testValue', 5000).then(function(cacheResponse){
if (cacheResponse.isSuccess()) {
console.log(cacheResponse.data.response);
} else {
console.log(cacheResponse);
}
});
cacheImplementer.get('testKey').then(function(cacheResponse){
if (cacheResponse.isSuccess()) {
console.log(cacheResponse.data.response);
} else {
console.log(cacheResponse);
}
});cacheImplementer.setObject('testObjKey', {dataK1: 'a', dataK2: 'b'}).then(function(cacheResponse){
if (cacheResponse.isSuccess()) {
console.log(cacheResponse.data.response);
} else {
console.log(cacheResponse);
}
});
cacheImplementer.getObject('testObjKey').then(function(cacheResponse){
if (cacheResponse.isSuccess()) {
console.log(cacheResponse.data.response);
} else {
console.log(cacheResponse);
}
});cacheImplementer.set('testKeyOne', 'One').then(console.log);
cacheImplementer.set('testKeyTwo', 'Two').then(console.log);
cacheImplementer.multiGet(['testKeyOne', 'testKeyTwo']).then(function(cacheResponse){
if (cacheResponse.isSuccess()) {
console.log(cacheResponse.data.response);
} else {
console.log(cacheResponse);
}
});cacheImplementer.set('testKey', 'testValue').then(console.log);
cacheImplementer.del('testKey').then(function(cacheResponse){
if (cacheResponse.isSuccess()) {
console.log(cacheResponse.data.response);
} else {
console.log(cacheResponse);
}
});cacheImplementer.set('testCounterKey', 1).then(console.log);
cacheImplementer.increment('testCounterKey', 10).then(function(cacheResponse){
if (cacheResponse.isSuccess()) {
console.log(cacheResponse.data.response);
} else {
console.log(cacheResponse);
}
});
cacheImplementer.decrement('testCounterKey', 5).then(function(cacheResponse){
if (cacheResponse.isSuccess()) {
console.log(cacheResponse.data.response);
} else {
console.log(cacheResponse);
}
});cacheImplementer.set('testKey', "testData").then(console.log);
cacheImplementer.touch('testKey', 10).then(function(cacheResponse){
if (cacheResponse.isSuccess()) {
console.log(cacheResponse.data.response);
} else {
console.log(cacheResponse);
}
});| Back | FazBrowse Home | New Git URL |