Javascript 什么是节点lru缓存?

Javascript 什么是节点lru缓存?,javascript,node.js,mongodb,caching,express,Javascript,Node.js,Mongodb,Caching,Express,是什么?谁能解释一下如何实现它?假设我有三层,客户端中间层(句柄调用)-后端(mongoDB),LRU缓存应该在中间层实现 最好有一个简单的例子来说明它是如何工作的!提前感谢。这里有一个关于如何在源存储库中使用它的示例: 我想你想让LRU继续留在MongoDB?如果是这样的话,你需要扩展或重写库,因为它看起来像是一个简单的内存中的LRU缓存模块。如果您有多个前端服务器实例,每个服务器保留一个LRU实例将导致它们不同步。Redis的排序集非常适合这个问题,而且速度非常快 您可以使用时间戳按最近的顺

是什么?谁能解释一下如何实现它?假设我有三层,客户端中间层(句柄调用)-后端(mongoDB),LRU缓存应该在中间层实现


最好有一个简单的例子来说明它是如何工作的!提前感谢。

这里有一个关于如何在源存储库中使用它的示例:


我想你想让LRU继续留在MongoDB?如果是这样的话,你需要扩展或重写库,因为它看起来像是一个简单的内存中的LRU缓存模块。如果您有多个前端服务器实例,每个服务器保留一个LRU实例将导致它们不同步。Redis的排序集非常适合这个问题,而且速度非常快


您可以使用时间戳按最近的顺序对它们进行排序,并且可以通过事务以原子方式读取和更新列表。它绝对适合缓存的用途。

LRU缓存只是一个具有固定最大大小的集合,一旦达到该最大大小,在插入数据时使用某种方法删除最近使用最少的项。但我不明白这对你剩下的问题有什么关系。这只是一个容器;它不是缓存服务。是的,您的假设是正确的。我的任务是将来自mongoDB的五个最新数据保存在一个位于中间层的容器中,我想哪个LRU可以完成这项工作?但我不知道这是否是最好的方法。@nihulus您必须编写自己的或找到一种方法在缓存未命中事件上扩展此LRU库,我看不出此LRU模块支持此事件。这是我最初的解决方案:)我正在考虑更复杂的问题。@nihulus看一看。它是一个结合lru缓存和redis的模块。您可以通过redis pubsub发送缓存失效消息。