我想缓存一堆记录,几分钟后记录将无效,为了提高性能,我想在内存数据库中使用。
它只是一个键值,键是字符串,值是json对象。
它必须集中并可扩展到多个节点,它将由Node.JS API和Web应用程序访问
寻找一种解决方案
当前解决方案
mysql表
每条记录都包含到期时间,基于我忽略记录
服务将定期删除过期的记录
答案 0 :(得分:1)
我建议使用redis内存数据库中使用最广泛的内存数据库之一,这些数据库可以很好地扩展,并且应该可以设置ttl(生存时间)。
答案 1 :(得分:0)
您可以使用lru cache模块。
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')