
Research
/Security News
9 Malicious NuGet Packages Deliver Time-Delayed Destructive Payloads
Socket researchers discovered nine malicious NuGet packages that use time-delayed payloads to crash applications and corrupt industrial control systems.
@tijolotech/cache-manager-redis-cluster-store
Advanced tools
Redis store for node-cache-manager and cluster redis
Redis cache store for node-cache-manager.
node-cache-manager-redis?This is a completely different version than the earlier node-cache-manager-redis. This package does not use redis-pool which is unnecessary and not actively maintained.
This package aims to provide the most simple wrapper possible by just passing the configuration to the underlying node_redis package.
npm install cache-manager-redis-store --save
or
yarn add cache-manager-redis-store
See examples below on how to implement the Redis cache store.
var cacheManager = require('cache-manager');
var redisStore = require('cache-manager-redis-store').redisStore;
var config = {
socket: {
host: 'localhost', // default value
port: 6379, // default value
},
password: 'XXXXX',
db: 0,
ttl: 600
};
var redisCache = cacheManager.caching({
store: await redisStore(config),
});
// listen for redis connection error event
var redisClient = redisCache.store.getClient();
redisClient.on('error', (error) => {
// handle error here
console.log(error);
});
var ttl = 5;
await redisCache.set('foo', 'bar', { ttl: ttl });
// You can use either a Promise...
var result = await redisCache.get('foo');
console.log(result);
// ...or a callback
redisCache.get('foo', (err, result) => {
if (err) {
// handle error here
}
console.log(result);
});
// >> 'bar'
console.log(await redisCache.del('foo'));
// >> 1
function getUser(id, cb) {
setTimeout(() => {
console.log("Returning user from slow database.");
cb(null, { id: id, name: 'Bob' });
}, 100);
}
var userId = 123;
var key = `user_${userId}`;
// Note: ttl is optional in wrap()
redisCache.wrap(key, (cb) => {
getUser(userId, cb);
}, { ttl: ttl }, (err, user) => {
console.log(user);
// Second time fetches user from redisCache
redisCache
.wrap(key, () => getUser(userId))
.then(console.log)
.catch(err => {
// handle error
});
});
var cacheManager = require('cache-manager');
var redisStore = require('cache-manager-redis-store').redisStore;
var redisCache = cacheManager.caching({ store: await redisStore({ ...config, db: 0, ttl: 600 }) });
var memoryCache = cacheManager.caching({ store: 'memory', max: 100, ttl: 60 });
var multiCache = cacheManager.multiCaching([memoryCache, redisCache]);
var userId2 = 456;
var key2 = `user_${userId2}`;
// Set value in all caches
await multiCache.set('foo2', 'bar2', { ttl: ttl });
// Fetches from highest priority cache that has the key
var result = await multiCache.get('foo2');
console.log(result);
// >> 'bar2'
// Delete from all caches
await multiCache.del('foo2');
// Note: ttl is optional in wrap
multiCache.wrap(key2, (cb) => {
getUser(userId2, cb);
}, (err, user) => {
console.log(user);
// Second time fetches user from memoryCache, since it's highest priority.
// If the data expires in the memory cache, the next fetch would pull it from
// the 'someOtherCache', and set the data in memory again.
multiCache.wrap(key2, (cb) => {
getUser(userId2, cb);
}, (err, user) => {
console.log(user);
});
});
Want to help improve this package? We take pull requests.
The node-cache-manager-redis-store is licensed under the MIT license.
FAQs
Redis store for node-cache-manager and cluster redis
The npm package @tijolotech/cache-manager-redis-cluster-store receives a total of 2 weekly downloads. As such, @tijolotech/cache-manager-redis-cluster-store popularity was classified as not popular.
We found that @tijolotech/cache-manager-redis-cluster-store demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
Socket researchers discovered nine malicious NuGet packages that use time-delayed payloads to crash applications and corrupt industrial control systems.

Security News
Socket CTO Ahmad Nassri discusses why supply chain attacks now target developer machines and what AI means for the future of enterprise security.

Security News
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.