2
我Node.js的API運行一些昂貴的「組」對MongoDB的使用,例如查詢:添加緩存到node.js MongoDB API?
app.get('/group/:collection', function(req, res) {
[...]
db.collection("indicators").group(keys, conds, { value : 0 } [...]
什麼是一些比較容易實現在此緩存解決方案?
你是什麼意思的「解決方案」呢?你在找一些現成的圖書館嗎?在這種情況下,這是**脫離主題**,因爲你正在尋找圖書館的建議。如果你正在尋找*方法來實現緩存自己*,這是一個相當廣泛的問題**,這個問題的答案很簡單:「將結果存儲在某種對象中,並解決通常在其他地方描述的緩存挑戰互聯網和太複雜,在這裏詳細討論。「 – mnemosyn 2015-02-08 23:30:13
我建議你使用LRU緩存,已經有一個很好用的節點模塊,你可能想看看這裏: https://github.com/isaacs/node-lru-cache – 2015-02-10 10:08:10
您需要的解決方案取決於您的實施。如果您的應用程序目前正在運行,並且將在可預見的未來運行,那麼在單臺計算機(有時稱爲dyno)上運行,那麼內存緩存對您來說可以。內存緩存很容易設置。您可以使用節點緩存,lru緩存或npmjs.com上可用的其他任何其他緩存。但是,如果您的應用程序從多個dynos運行,那麼您需要分佈式緩存,所有dynos都可以共享,例如redis。如果你想要兩種緩存類型的組合,你可以看看npmjs.com上的分層解決方案,例如cache-service(免責聲明:我寫了cache-service)。 – jpodwys 2015-06-03 18:45:25