![](/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.