2015-11-18 106 views
4

我正在建立一个基于MySQL数据库的网站。该网站将获得很多表格,很多行和很多意见。我知道这是因为我正在为现有网站构建一个新系统。我应该在哪种情况下使用缓存?

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

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

我应该缓存:

  • 一切吗?
  • 大/小桌子?
  • 所有数据/只有一部分?

应该如何使用缓存?

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

我不完全想让你直接回答我的问题,我只需要一个使用缓存的指导。

回答

0

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

根据您的硬件,因为点燃或任何缓存,所以在RAM上存储数据时,您应该在决定缓存什么时考虑这方面的问题。

你说你想存储文章,只有最近的文章,那么你可以选择只复制那些在两周前有creationDate的文章。

Ignite also provides an ORM该工具用于将点火连接到数据库,并且可以通过两种方式进行配置:在缓存发生更改或者决定执行该操作时立即更新数据库。

相关问题