NPM酷庫,天天兩分鐘,瞭解一個流行NPM庫。node
爲了優化程序性能,咱們經常須要獎數據緩存起來,根據實際狀況,咱們能夠將數據存儲到磁盤、數據庫、redis等。git
可是有時候要緩存的數據量很是小,或者項目規模很是小,也許就是一個工具腳本,使用redis等外部數據庫,還得作依賴部署。而直接將數據保存在程序變量中,最經濟、快捷。可是這樣就會帶來一些其餘問題,好比緩存更新、緩存過時等。github
lru-cache 用於在內存中管理緩存數據,而且支持LRU算法。可讓程序不依賴任何外部數據庫實現緩存管理。redis
const LRU = require('lru-cache'); const cache = LRU({ max: 500, maxAge: 1000 * 60 * 60 }); cache.set('key','value'); cache.get('key'); // "value" cache.reset(); // 清空
雖然,lru-cache 使用很是方便,可是lru-cache的緩存數據保存在當前進程內存內,這就決定了依賴lru-cache的項目是有狀態的程序,這樣就不可以分佈式部署多實例負載均衡,因此若是系統設計須要多實例運行,那麼仍是須要使用redis。算法
https://github.com/isaacs/nod...數據庫
天天瞭解一個NPM庫,一年後成爲Node.js高手緩存