我怎么知道什么时候切换到从MySQL查询到Redis的读操作?

时间:2015-04-07 17:48:46

标签: mysql caching redis

版本
我正在使用MySQL 5.6并考虑使用Redis 3.0(以帮助增加多样化的读取,a.k.a“屏幕”)。我目前正在使用单个服务器,但是对于Redis,我想如果需要,我最终可以在以后集群到更多的Redis服务器中。

现状:
到目前为止,我在读取查询中遇到的唯一缓慢是由于需要更多索引或减慢UNION。所以我添加了更多索引,并且我仔细地将一些数据压缩到单个表中以消除UNION的大部分问题(减少了一些JOIN,但是我仍然经常使用JOIN,到目前为止它们不是问题)。

问题:
我正在对我的应用程序进行重新分解,并且很好地分离出我的所有读取查询(CQRS)。虽然我这样做,但我想知道现在是否适合考虑用Redis替换许多读取查询。它将消除我在写入的表上使用大量索引的需要(这将释放更多的RAM)。当然我会保留用于写入的核心表,但是我的数据会增长,因为现在我几乎每个读取查询都会有新的Redis表(即UI屏幕/视图)。这反过来会带走更多的RAM。我怎么知道什么时候开始切换到Redis?确定这个或准备这个的程序是什么?显然我不想犯“过早优化”,但我不想避免缓存,后来又回来咬我。我希望答案不是“当一切都变慢时做一些事情”,但我不想强迫自己过早地需要额外的Redis集群服务器(通过使用所有添加的Redis非规范化数据占用当前服务器上的所有RAM) )。

1 个答案:

答案 0 :(得分:0)

将您的阅读查询移至Redis可能是一项非常重要的工作,但如果您期望增长和对性能的需求,那么越早越好。

此外,不要在同一台服务器上运行MySQL和Redis数据库 - 这样做是一种可以解决问题的可靠方法。

相关问题