node LRU cache是什麼?任何人都可以解釋如何實現它?假設我有三層,client-midlayer(句柄調用)-backend(mongoDB),LRU緩存應該在中間層實現。什麼是node-lru-cache?
會不錯,有一個簡單的例子,只是顯示它是如何工作的!提前致謝。
node LRU cache是什麼?任何人都可以解釋如何實現它?假設我有三層,client-midlayer(句柄調用)-backend(mongoDB),LRU緩存應該在中間層實現。什麼是node-lru-cache?
會不錯,有一個簡單的例子,只是顯示它是如何工作的!提前致謝。
有關於如何將源代碼庫中使用它的一個例子:https://github.com/isaacs/node-lru-cache/tree/master/test
我假設你想要的LRU堅持到MongoDB的?如果是這樣的話,您需要擴展或重寫庫,因爲它初看起來就像是一個簡單的內存中LRU緩存模塊。
您還需要考慮Redis爲此設置的排序集。如果您有多個前端服務器實例,則每個服務器保留一個LRU實例會導致它們不同步。 Redis的排序集非常適合這個問題,速度非常快。
您可以使用時間戳使它們按最近排序,並且可以通過事務以原子方式讀取和更新列表。它絕對適合緩存的目的。
這就是我最初的解決方案:)我正在考慮更復雜的事情。 – nihulus 2012-07-25 06:30:47
@nihulus看看https://github.com/mcollina/redis-command-cache。這是一個結合了lru-cache和redis的模塊。您可以通過redis pubsub發送緩存失效消息。 – mikegradek 2014-08-04 04:26:22
LRU緩存只是一個具有固定最大大小的集合,它使用某種方法在插入數據時刪除最近最少使用的項目,一旦達到最大大小。儘管如此,我不明白對你的其餘問題重要的是什麼。這只是一個容器;它不是緩存服務。 – Joe 2012-07-24 11:56:07