【发布时间】:2015-06-21 15:24:22
【问题描述】:
我有一个电子商务网站。我的产品目录在 mongodb 中,所有其他事务在 mysql 中。 我打算使用 express 中间件,它将使用 redis 作为所有传出 mongodb 查询的缓存层。
谁能帮助我设计架构? 我将非常感激。 当前技术栈nodejs+mongodb+mysql
【问题讨论】:
我有一个电子商务网站。我的产品目录在 mongodb 中,所有其他事务在 mysql 中。 我打算使用 express 中间件,它将使用 redis 作为所有传出 mongodb 查询的缓存层。
谁能帮助我设计架构? 我将非常感激。 当前技术栈nodejs+mongodb+mysql
【问题讨论】:
一般来说redis会非常适合缓存数据。与其为每个请求都访问主数据库,不如使用缓存技术,这再次取决于您更新缓存数据的频率。如果您错过频繁更新缓存或每当主数据库中发生更改时,就会出现严重问题。您必须监听数据库更改并更新缓存,截至目前 5 月 mongodb 中没有监听器,因此您可以编写一些 cron 作业来根据某个时间更新缓存。我们需要有关架构和架构的更多详细信息以提供进一步帮助。
第 1 步:每当您在 mongodb 或任何主数据库中插入或更新数据时,添加到缓存 redis 数据库。
第 2 步:因此 99% 的数据将在特定产品的缓存 redis 数据库中可用。
第3步:每当基于产品或任何其他细节进行api调用时,它会在cache redis数据库中检查它,如果该特定数据存在则返回该数据,否则同时从主数据库中获取它时间add to cache 也是如此,所以下次你将从缓存中获取数据。
希望这次编辑能提供更多想法。
【讨论】: