当前,我正在为我的应用程序使用“ GrandStack”。我的挑战 面对缓存。我想在客户端和 后端。
在客户处
:我正在使用Apollo客户端的React Js:默认情况下,Apollo客户端在应用程序级别维护商店(使用Apollo提供的客户端将整个应用程序包装起来)
在这里排队..如果我导航到任何已访问页面,则该数据应作为服务器 即使在页面刷新时也可以从缓存中获取
在后端: 我正在使用Apollo-server 2 + express + Neo4j作为数据库
有什么办法可以在服务器上缓存“客户端请求”?如果用户点击相同 向服务器请求数据应该来自服务器缓存?
请帮助我提供一些参考代码。谢谢。
答案 0 :(得分:1)
对于相同的情况,我已经实现了LRU缓存,其中将查询存储为键,并将响应存储为值。
const LRU = require("lru-cache")
const lruCache = new LRU({
maxElements: 1000,
length: (n, key) => {
return n * 2 + key.length
},
dispose: function (key, n) {
// n.close()
},
maxAge: 1000 * 60 * 60
})
设置值lruCache.set(key, value)
并获取const data = lruCache.get(key);
“钥匙”是您的要求。
还有其他选择,但这是最受欢迎的(这就是我所相信的)