UNPKG

rss-cache

Version:

A synchronous node cache package based on redis sub & pub

48 lines (41 loc) 1.45 kB
# rss cache for node A node cache lib Can be used alone without a message queue system Or Can sync data between server or pm2 process depends on redis, or some other message queue. ## Install `npm install rss-cache` ## Usuage ### basic cache from cache a function result ```javascript const rssCache = new RssCache('mycache', 10 * 60 * 1000) const key = 'cacheKey' const value = rssCache.get(() => { return parseInt(Math.random(100) * 100) }, key) ``` ### async cache for cache a promise ```javascript const rssCache = new RssCache('mycache', 10 * 60 * 1000) const key = 'cacheKey' const val = rssCache.get(new Promise((resolve) => { setTimeout(() => { resolve(parseInt(Math.random(100) * 100)) }, 1000) }), key) val.then((value) => { res.write(`get key [${key}]: ${value}`); res.end(); }) ``` ### sync between servers or diffrent processes, depend on redis pub/sub you can allso depend on others message queue ```javascript RssCache.initSync(new RssRedis({channel: 'RssCacheChannel', host: 'localhost'})) ``` ## Examples you can try it with `npm install -g pm2` `rm -rf dist && npm run build && cd dist/examples && pm2 start demo.js -i 2` then visist [http://localhost:6060/?key=b](http://localhost:6060/?key=b) [http://localhost:6060/?key=b&type=clear](http://localhost:6060/?key=b&type=clear) [http://localhost:6060/?key=c&sync=async](http://localhost:6060/?key=c&sync=async) in your browser