Redis比MySQL更快吗?

use*_*157 13 mysql persistence redis

我刚刚读到Redis是"持久的".这是否意味着它存储在硬盘中?如果是的话,它怎么能比基于硬盘的MySQL更快?显然,我只是一个初学者,所以不要太苛刻.

连接到:以 最便宜的方式缓存node.js中的数据?

Den*_*ret 18

Redis仅适用于键值对,这更简单,但远不能涵盖像MySQL这样的关系数据库的正常用例.

Redis的持久性是可选的.许多用例不需要持久性(例如,我使用Redis在我的服务器程序之外存储用户会话,以便我可以重新启动它而无需用户注意).在那种情况下,磁盘上没有写入.

即使您将其配置为持久性,也不会在存储中的每次写入时进行写入,这意味着在严重崩溃的情况下您可能会丢失多达几秒的数据.但这也意味着更好的表现.

总的来说,你并不真正比较Redis和MySQL:

  • 如果你想要可靠的关系存储,你使用MySQL(或其他DBMS)
  • 如果您在崩溃的情况下可以丢失几秒钟的数据并且您只需要快速存储和检索键值对,那么Redis可能会很有趣

  • +1用于强调他们解决不同的问题并解决不同的用例.在我不起眼的经历中,Redis对于涉及缓存的事情要快得多. (8认同)
  • @ user3289157很难说.没有信息,这可能是一个好主意.但是如果你没有足够的内存,Redis将无法提高效率. (2认同)

uin*_*tea 7

接受的答案只回答优点和缺点,不回答Is Redis faster than MySQL?

The answer:是的,Redis 比 MySQL 更快

How can it be faster:没有缓存,它取决于硬盘带宽(而不是查询)

  • MySQL,使用磁盘:HDD 100 MB/s,SSD 500 MB/s,NVME 500-3000 MB/s

  • Redis、其他 noSQL,使用内存/RAM:DDR3 15,000 MB/s、DDR4 25,600 MB/s

因此,如果使用 HDD 100 MB/s 的 MySQL VS Redis DDR4 25,600 MB/s =256X faster*

*注意:不是实际性能,只是理论上的

which is also hard disk based?两者都使用硬盘,但Redis仅使用HDD进行备份/恢复。