成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

NPM酷庫(kù):lru-cache 基于內(nèi)存的緩存管理

Yumenokanata / 2072人閱讀

摘要:酷庫(kù),每天兩分鐘,了解一個(gè)流行庫(kù)。而直接將數(shù)據(jù)保存在程序變量中,最經(jīng)濟(jì)快捷。但是這樣就會(huì)帶來一些其他問題,比如緩存更新緩存過期等。用于在內(nèi)存中管理緩存數(shù)據(jù),并且支持算法??梢宰尦绦虿灰蕾嚾魏瓮獠繑?shù)據(jù)庫(kù)實(shí)現(xiàn)緩存管理。

NPM酷庫(kù),每天兩分鐘,了解一個(gè)流行NPM庫(kù)。

為了優(yōu)化程序性能,我們常常需要獎(jiǎng)數(shù)據(jù)緩存起來,根據(jù)實(shí)際情況,我們可以將數(shù)據(jù)存儲(chǔ)到磁盤、數(shù)據(jù)庫(kù)、redis等。

但是有時(shí)候要緩存的數(shù)據(jù)量非常小,或者項(xiàng)目規(guī)模非常小,也許就是一個(gè)工具腳本,使用redis等外部數(shù)據(jù)庫(kù),還得做依賴部署。而直接將數(shù)據(jù)保存在程序變量中,最經(jīng)濟(jì)、快捷。但是這樣就會(huì)帶來一些其他問題,比如緩存更新、緩存過期等。

lru-cache

lru-cache 用于在內(nèi)存中管理緩存數(shù)據(jù),并且支持LRU算法??梢宰尦绦虿灰蕾嚾魏瓮獠繑?shù)據(jù)庫(kù)實(shí)現(xiàn)緩存管理。

LRU算法:盡量保留最近使用過的項(xiàng)

可指定緩存大小

可指定緩存項(xiàng)過期時(shí)間

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的緩存數(shù)據(jù)保存在當(dāng)前進(jìn)程內(nèi)存內(nèi),這就決定了依賴lru-cache的項(xiàng)目是有狀態(tài)的程序,這樣就不能夠分布式部署多實(shí)例負(fù)載均衡,所以如果系統(tǒng)設(shè)計(jì)需要多實(shí)例運(yùn)行,那么還是需要使用redis。

參考資料

https://github.com/isaacs/nod...

歡迎關(guān)注公眾號(hào):梁興臣

每天了解一個(gè)NPM庫(kù),一年后成為Node.js高手

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/61949.html

相關(guān)文章

  • NPM酷庫(kù)lru-cache 基于內(nèi)存緩存管理

    摘要:酷庫(kù),每天兩分鐘,了解一個(gè)流行庫(kù)。而直接將數(shù)據(jù)保存在程序變量中,最經(jīng)濟(jì)快捷。但是這樣就會(huì)帶來一些其他問題,比如緩存更新緩存過期等。用于在內(nèi)存中管理緩存數(shù)據(jù),并且支持算法??梢宰尦绦虿灰蕾嚾魏瓮獠繑?shù)據(jù)庫(kù)實(shí)現(xiàn)緩存管理。 NPM酷庫(kù),每天兩分鐘,了解一個(gè)流行NPM庫(kù)。 為了優(yōu)化程序性能,我們常常需要獎(jiǎng)數(shù)據(jù)緩存起來,根據(jù)實(shí)際情況,我們可以將數(shù)據(jù)存儲(chǔ)到磁盤、數(shù)據(jù)庫(kù)、redis等。 但是有時(shí)候要緩...

    LoftySoul 評(píng)論0 收藏0
  • NPM酷庫(kù):promise 異步任務(wù)狀態(tài)管理

    摘要:是一個(gè)劃時(shí)代的庫(kù),因?yàn)楫a(chǎn)生后,后續(xù)的標(biāo)準(zhǔn)的就是基于的,而機(jī)制讓人能夠以同步樣式的代碼處理異步任務(wù),徹底解決了回調(diào)問題。而的機(jī)制其實(shí)很簡(jiǎn)單,它將異步任務(wù)抽象為三種狀態(tài)進(jìn)行中完成失敗。 NPM酷庫(kù),每天兩分鐘,了解一個(gè)流行NPM庫(kù)。 JavaScript的優(yōu)勢(shì)就在于其基于異步事件模型,從而Node.js能夠擁有非常強(qiáng)大的性能表現(xiàn)。但是,JavaScript的callback方式做異步處理,...

    winterdawn 評(píng)論0 收藏0
  • NPM酷庫(kù):through 快速創(chuàng)建雙向流

    摘要:流做下載等功能時(shí)候,我們經(jīng)常會(huì)使用數(shù)據(jù)流模塊,因?yàn)椋诖笪募螺d場(chǎng)景下,如果使用接口將文件全部讀入內(nèi)存然后再返回給客戶端,很容易撐爆內(nèi)存,比如一個(gè)文件,同時(shí)有人在下載,那么服務(wù)就需要占用內(nèi)存。 NPM酷庫(kù),每天兩分鐘,了解一個(gè)流行NPM庫(kù)。 流 做下載等功能時(shí)候,我們經(jīng)常會(huì)使用數(shù)據(jù)流模塊(stream),因?yàn)?,在大文件下載場(chǎng)景下,如果使用fs.readFile()接口將文件全部讀入內(nèi)存...

    DTeam 評(píng)論0 收藏0
  • NPM酷庫(kù):vm2,安全沙箱環(huán)境

    摘要:而標(biāo)準(zhǔn)庫(kù)中的是不安全的,用戶腳本可以輕易突破沙箱環(huán)境,獲取主程序的上述代碼在執(zhí)行時(shí),程序在第二行就直接退出,虛擬機(jī)環(huán)境中的代碼逃逸,獲得了主線程的變量,并調(diào)用,造成主程序非正常退出。 NPM酷庫(kù),每天兩分鐘,了解一個(gè)流行NPM庫(kù)。 今天我們要了解的庫(kù)是 vm2,則是一個(gè)Node.js 官方 vm 庫(kù)的替代品,主要解決了安全問題。 不安全的vm 在Node.js官方標(biāo)準(zhǔn)庫(kù)中有一個(gè)vm庫(kù),...

    pkhope 評(píng)論0 收藏0
  • NPM酷庫(kù):split 按行讀取文本流

    摘要:酷庫(kù),每天兩分鐘,了解一個(gè)流行庫(kù)。昨天,我們了解的中數(shù)據(jù)流的處理,并使用快速創(chuàng)建雙向流,今天,我們繼續(xù)討論數(shù)據(jù)流。我們昨天說到,使用數(shù)據(jù)流,可以分批讀取數(shù)據(jù)到內(nèi)存,而不用將文件一次性讀取到內(nèi)存。 NPM酷庫(kù),每天兩分鐘,了解一個(gè)流行NPM庫(kù)。 昨天,我們了解的Node.js中數(shù)據(jù)流的處理,并使用through快速創(chuàng)建雙向流,今天,我們繼續(xù)討論數(shù)據(jù)流。 我們昨天說到,使用數(shù)據(jù)流,可以分批...

    騫諱護(hù) 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<