1

我有一个多租户站点,可以跨多个 MySQL 表存储人们的信息。当我需要有关列表人员的不同信息时,我可以从不同的表中提取。

我刚开始使用 Memcached,我很喜欢它。我想用它来加快过滤人员列表的过程。

我的问题是如何有效地将人们的信息存储在 memcached 中,以便在处理查询时,无论是简单的还是复杂的,我都不必每次都从 MySQL 数据库中加载所有内容?当我说复杂时,我将查询多个 MySQL 表以查找我需要的人员列表。

我有一些想法:

  1. 将所有人的信息(包括来自链接的 MySQL 表的信息)存储在 memcached 中。然后,当我需要一组特定的人或需要生成复杂的报告时,我会从 memcached 中筛选人员数组,而不是查询 MySQL……问题是,可能有成千上万的人,每个人都有 100 行信息而且我不确定 memcached 是否可以处理这么多数据。

  2. 每次创建新报表或视图时存储人员。它将保存它,因此如果生成相同的报告,它将从 memcached 中提取。

您可以提供的任何见解将不胜感激。

4

1 回答 1

2

memcached 旨在成为缓存,而不是数据库。不要其中存储大量信息,特别是因为查询数据库以获取特定信息可能会比从缓存中加载全部信息、解析然后找到它更快。

于 2012-10-26T00:51:37.383 回答