我有一个服务器用于处理用户使用 Mongodb 的页面查看历史记录。
当用户查看页面时,集合是这样保存的
view_collection
{ "_id" : "60b212afb63a57d57a8f0006",
"pageId" : "gh42RzrRqYbp2Hj1y",
"userId" : "9Swh4jkYOPjWSgxjm",
"uniqueString" : "s",
"views" : {
"date" : ISODate("2021-01-14T14:39:20.378+0000"),
"viewsCount" : NumberInt(1)
}}
page_collection
{"_id" : "gh42RzrRqYbp2Hj1y", "views" : NumberInt(30) ,"lastVisitors" : ["9Swh4jkYOPjWSgxjm"]}
用户集合
{
_id:"9Swh4jkYOPjWSgxjm",
"statistics" : {
"totalViewsCount" : NumberInt(1197) }
}
一切正常,除了我想找到一种方法来缓存进入数据库的操作。
我一直在考虑如何使用 Redis 来缓存写作,然后定期循环遍历 Redis-keys 以将结果插入数据库。(但这太复杂了,需要大量的编码。)另外,我发现 Mongodb 有 In-Memory Storage,为此我可能不需要从零开始重写所有内容,只需更改 mongod 的一些配置文件即可获取缓存-写作品