在哪些情况下我应该使用缓存?

时间:2015-11-18 09:14:21

标签: mysql caching redis

我正在建立一个基于MySQL数据库的网站。该网站将获得大量的表格,大量的行和很多观点。我知道,因为我正在为现有网站建立一个新系统。

当前网站仅使用MySQL,没有缓存,导致很多问题,如性能不佳和数据库崩溃。

在新系统上,我想通过使用像 Redis 这样的缓存引擎来避免这种情况,但真正的问题是我不太明白应该缓存哪些数据,或者是什么例。

我应该缓存:

  • 一切?
  • 大/小桌子?
  • 所有数据/仅部分内容?

我应该如何使用缓存?

  • 将所有数据存储在MySQL中,并仅缓存部分记录? (例如:最近的文章)
  • 仅在Redis上存储一些数据? (例如:文章视图/ IP地址表)

我并不希望您直接回答我的问题,我只需要使用缓存的指导。

1 个答案:

答案 0 :(得分:0)

我使用apache-ignite作为缓存,我只存储访问量最大的数据,如报告实体,在您的情况下可能是最近添加的文章(您需要决定)。

根据您的硬件,因为点燃或任何缓存,将数据存储在RAM上,这样您在决定要缓存的内容时应该考虑这个方面。

你说你想要存储文章,只有最近的文章,你可以选择只复制两周前早些时候创建了具有creationDate的文章。

Ignite also provides an ORM工具,用于将点燃耦合到数据库,这可以通过两种方式配置,以便在更改缓存或决定执行此操作时立即更新数据库。