Chr*_*ris 5 mysql caching redis
我想知道是否值得缓存如下查询:
从 id = 1 的用户中选择 *
如果不是,那么复杂查询的情况也应该如此,因为它们无论如何都会被数据库缓存缓存。
使用 Redis 缓存单个数据库查询是否有意义?或者我只会从缓存多个查询的结果(例如整个路线)中获得好处
Redis(在内存中)比 DB 缓存(也在内存中)更快吗?在这种情况下,在 Redis 中缓存单个查询也是有意义的,但我认为 DB 和 Redis 缓存应该执行类似的操作。
如果您的应用程序可能从缓存中读取查询结果而不是再次运行 SQL 查询,则值得缓存查询结果。或者,如果您需要比任何 SQL 查询运行更快的结果。
此外,SQL 查询的成本不一定会损害应用程序的性能。像这样的 SQL 查询SELECT * FROM users WHERE id = 1简单而高效,最多是一行的主键查找(假设id是主键)。
如果使用 SQL 执行针对大范围数据的复杂查询,则可能需要更长的时间,因此读取缓存结果的相对好处会更大。
但即使是每小时运行一百万次的简单查询也可能成本高昂。如果您如此频繁地运行查询以至于影响了应用程序的性能,那么缓存是一个不错的策略。
有很多变量,它们取决于您的特定应用程序行为和约束。没有人可以为你回答这个问题。
| 归档时间: |
|
| 查看次数: |
2401 次 |
| 最近记录: |