【发布时间】:2021-07-12 10:25:12
【问题描述】:
我正在修改 redis 和 mysql,以了解缓存如何提高性能。从缓存访问数据/应该比从数据库访问数据更快。
我在程序中计算了这两种情况所需的时间,发现 从缓存访问比从数据库访问慢得多。我想知道可能是什么原因。
需要考虑的几点:
- 我正在使用 Azure Redis 缓存。
- 主应用程序位于 VM 实例上。
- 我在另一个 VM 实例上托管了 MYSQL 服务器。
- 该表非常小,只有 200-300 条记录。
- 时间计算逻辑没有错误。
编辑:
缓存加载时间=约 1.2s
mysql 的加载时间= 大约 15 毫秒
原来我的应用程序和 MySQL 服务器位于同一区域,而 redis 缓存位于全球不同区域,导致延迟更高。
但我仍然希望有人解释为什么 sql 的获取时间要小得多。
【问题讨论】:
-
这是 MySQL 效率如此之高以至于在其前面放置缓存可能无济于事的众多情况之一。对于“非常小”的表,可能没有 I/O 等。您看到每种情况的毫秒数是多少?
-
缓存大约 1.2 秒,数据库大约 15 毫秒,我想知道为什么从 mysql 获取这么快
标签: mysql redis mysql-python mysql-connector