database - Memcached + Redis 用于新闻提要

标签 database redis memcached stackexchange.redis

我计划在我的 MYSQL 数据库之上为新闻提要事件构建缓存。

我刚刚读到 Memcached 比 Redis 更有效地处理元数据。所以我想知道在 Redis 中存储“规范化”数据(帖子 ID)和在 Memcached 中存储“非规范化”数据(其他元数据,如喜欢、分享、文本、图片 URL 等)是否有意义。

因此,它的工作原理是:为了呈现用户的提要,Redis 集群上用户消息框中的帖子 ID 列表将被提取并传递到 Memcached 集群,与每个帖子相关的所有元数据都将从中获取拿来了。如果 Memcached 中没有帖子的数据,我们只需回退以从我们的主数据存储 (MySQL) 中检索它。

最佳答案

根据您所描述的用例,很明显只有 Memcached 或 Redis 中的一个就足够了。在同一系统中同时使用两者是不切实际的。

您可以根据自己习惯使用什么以及您认为最适合您的要求来做出决定。 redis 和 memcached 都将您的数据存储在内存中,因此在速度方面不会有问题。

由于以下因素,同时使用两者不是一个好主意:

  • 你必须维护和开发两种不同的内存库
  • 向您的系统添加一个额外的层意味着更多的延迟开销

如果您还没有阅读它们各自的文档,您可以阅读它们:

Redis

Memcached

关于database - Memcached + Redis 用于新闻提要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49671999/

相关文章:

Mysql触发器查找最大数

mysql - 合并 2 个 MySQL 查询并按时间戳排序结果

ruby-on-rails - Windows 上的 Hiredis 0.5.2

spring - 如何检查一个 REDIS 服务器可以给客户端的总 redis 连接数?

java - memcached 中存储了什么?

database - 构建其中一行必须映射到另一个表中的多行的数据库的最佳方法?

heroku - Resque失去与heroku上redis的连接

PHP Memcached 问题

javascript - Node 、 promise 、返回值

java - 从 MySQL 数据库、jdbc、java 中获取特定行和列的特定单元格