node.js中的自动caching
我想caching一堆logging,几分钟后logging将无效,为了提高性能我想在内存数据库中去。
它只是一个键值,键是string,值是json对象。
它必须集中和扩展到多个节点,它将被Node.JS API和Web应用程序访问
寻找一种解决scheme
- 在内存caching中
- 通过键值检索值
- 解决scheme可以缩放到多个节点
- 关键时间后必须过期
当前解决scheme
-
MySQL表
-
每条logging包含到期时间,基于我忽略logging
-
服务将定期删除过期的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')