1

我正在开发一个 Django 应用程序,该应用程序在不同的视图中进行许多类似的查询,并且我计划使用 Redis 通过查询 Redis 而不是数据库来加快速度。

我正在阅读这个问题:如何在 Django 中使用 redis?开始,在最佳投票答案结束时,我看到了以下建议:“在需要速度之前不要开始使用 Redis 或任何其他缓存 - 不要过早优化。”,我想也许我是做错事,他说的“不要过早优化”是什么意思?过早优化会损害我的应用程序或开发过程吗?如果是这样,我应该寻找什么?我可以使用什么指标来决定何时是使用 Redis 或任何其他缓存的好时机?

4

2 回答 2

2

他所说的“不要过早优化”是什么意思?

通过过早地优化你没有解决的问题。

我可以使用什么指标来决定何时是使用 Redis 或任何其他缓存的好时机?

当 UX 因加载时间而受到影响时。或者当用户体验受到任何影响时,可能是时候开始寻找了。

添加更多技术可能会使您的构建/部署过程在不需要时更加复杂。人们(包括我自己)总是在想我们的应用程序将支持多少百万访问者,以及我们将如何每天将数百万条条目写入数据库,如何有效地管理所有数据并为我们所有未来的幽灵用户保持快速查询。虽然考虑应用程序如何扩展和增长非常好,但肯定没有理由在必要之前对其进行扩展。使用 django 和带有经过深思熟虑的数据库模式的传统 RDBMS,正确的索引可能会支持您的应用程序比实际更大。

于 2012-09-05T19:08:07.653 回答
1

过早的优化是针对开发过程的,在开发过程的早期就开始优化被认为是不好的做法;

Donald Knuth 对优化做了以下两个陈述:

"We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil"

源程序优化参见“何时优化”部分

于 2012-09-05T19:03:21.197 回答