猿问

为什么用redis缓存最新的N条评论,存的只是ID,不把评论内容存起来

假设mysql数据库评论表有很多个字段,比如:ID、时间、内容、评论人等这些字段。在用redis缓存时,为什么在网上有人说只要用list数据类型存ID就可以了。这样的话,从redis获取到评论ID后,不也还要再去mysql表里查询每条评论ID的具体内容吗?

忽然笑
浏览 907回答 4
4回答

隔江千里

没有为什么 内存空间与响应时间的取舍考量而已 你愿意把评论内容存起来也完全可行啊在这个场景下redis就是起到一个空间换时间的作用,你不愿意用更多的空间就只存ID,内存够用或者体量不大的情况下肯定是把整个内容存起来更有效率。

Qyouu

目前我们这边对这种问题的实践 ……某些追求性能的场景,我们直接把整个返回的 JSON 全塞到 Redis 里也都是常规操作。不存在什么只存 ID 的说法。 要有自己的思考和判断。 Update at 2018.12.29:服了这问题。。。A. Redis 当数据库用B. Redis 当数据库数据的缓存用C. Redis 当数据库数据的索引 ID 的缓存用D. Redis 不用 我以为这问题是讨论这几种用法(当然是都可以用啊)……结果题主居然问,为啥用 ID 查,能比用条件查快???我的天,用正整数+主键索引 的 ID,不比用一堆判断条件查出来的快,还要 ID 干啥???
随时随地看视频慕课网APP
我要回答