![](/img/trans.png)
[英]Adding a New Item has been loaded, Indicator Image to an Item after its been Loaded to a webpage from a Folder in SharePoint
[英]Why does Redis (Nodejs) automatically updates its cache after new item has been added to database?
我想玩Redis,所以我写了一个简单的端点来获取博客,很快就遇到了“甜蜜的问题”,因为代码确实有效,但我不是没有原因。
这个想法是在初始请求之后将博客存储在缓存中,表现得如预期的那样,但是,根据我的理解,我应该在添加新博客后遇到问题,但我没有。 我将发布代码以进行更直观的表达。
client.get = util.promisify(client.get);
const cachedBlogs = await client.get(req.user.id);
if (cachedBlogs) {
return res.send(JSON.parse(cachedBlogs));
}
const blogs = await Blog.find({ _user: req.user.id });
res.send(blogs);
client.set(req.user.id, JSON.stringify(blogs));
从我的理解,缓存应该没问题,直到我发布新博客,因为在那个场景中cachedBlogs
也等于true,但我只返回以前版本的缓存,因为我从未设法将新博客存储到缓存中。 问题是我在添加它之后立即在缓存中看到新博客而我不知道为什么,因为如果缓存不为空,它总是在if statement
终止。
所以更准确的问题是,考虑到这段代码,redis如何将新数据存储到缓存中?
首先,我认为自动更新是不可能的。
所以,你可以添加更多关于redis和db的日志; 或者你可以调试你的代码。 你会发现你的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.