2012-02-09 110 views
9

是否存在純粹在Node.js中編寫的數據庫(mysql)查詢緩存的實現?使用Node.js緩存數據庫查詢

我正在寫一個節點的Web應用程序,並計劃與memcached的緩存查詢,但同時考慮到這一點,我意識到它可能可以通過一個單獨的Node.js層做緩存,而不是

解釋道:

您可以通過單獨端口上的節點服務器查詢數據庫,從可用內存中返回數據並將其加載到內存中。

任何人都知道Node.js在散列數組上的返回速度如何與memcache進行比較?這是管道夢還是我應該看的東西?

回答

4

我繼續寫下一個專用緩存解決方案,將數據存儲在共享對象中。這並不是真正的查詢緩存,它存儲了特定的結果,而不是散列排序的原始sql結果,但它保留了我在內存中所需的內容,並且很容易編寫。

因爲我本來問這個問題的一些節點緩存解決方案emmerged:

  1. ptarjan/node-cache
  2. tcs-de/nodecache
  3. vxtindia/node-cache
  4. mape/node-caching

我沒有使用任何這些但其中一個可能很有用o別人。

現在還有redismemcached客戶端的節點。

1

你完全可以在節點中實現類似的東西,它可能是一個有趣的項目,但它取決於你的需求。如果你只是爲了一個業餘愛好項目做這件事,那麼一定要在節點中構建一個緩存層,然後嘗試一下。讓我們知道怎麼回事!

如果這是在生產中使用的話,我會建議堅持,因爲他們已經通過所有與建立可擴展的緩存系統相關聯的成長的煩惱了既定的緩存層(memcached的,Redis的,等等)。

+0

這是爲了生產,但我們可能仍然沿着使用它的路線前進,當然應用程序本身必須實現大部分所需的東西。我一定會讓你知道我們是怎麼做的。 – thelastshadow 2012-02-10 09:59:54