node.js中的自动caching

我想caching一堆logging,几分钟后logging将无效,为了提高性能我想在内存数据库中去。

它只是一个键值,键是string,值是json对象。

它必须集中和扩展到多个节点,它将被Node.JS API和Web应用程序访问

寻找一种解决scheme

  1. 在内存caching中
  2. 通过键值检索值
  3. 解决scheme可以缩放到多个节点
  4. 关键时间后必须过期

当前解决scheme

  1. MySQL表

  2. 每条logging包含到期时间,基于我忽略logging

  3. 服务将定期删除过期的logging

我会build议去redis之一内存数据库中使用最广泛的扩展真的很好,应该为您的目的,你可以设置ttl(生存时间)。

你可以使用lrucaching模块。

var LRU = require("lru-cache") , options = { max: 500 , length: function (n, key) { return n * 2 + key.length } , dispose: function (key, n) { n.close() } , maxAge: 1000 * 60 * 60 } , cache = LRU(options) , otherCache = LRU(50) // sets just the max size cache.set("key", "value") cache.get("key") // "value" // non-string keys ARE fully supported var someObject = {} cache.set(someObject, 'a value')