redis 本身有持久化,为什么还要写进 mysql

redis 本身有持久化,为什么还要写进 mysql,第1张

本身的持久化,会可能丢失数据,因为本身的持久化,不是实时的,是数据先在内存,再定时的保存到硬盘来达到持久化,当然,这个定时的时间相隔,是可以配置的。

这个配置的时间,如果太短,那么使用redis的效率就低,如果长了,那么可能丢失的数据就会多,所以,要根据自己的业务来取得一个均衡。

保存到数据库的,可以理解为比较保险,redis出现问题,还可以从数据库中恢复过来

从两者的擅长角度来看,数据库擅长的是存储和检索

redis相当于内存数据库,擅长的地方是读

结合两个的擅长点来使用,才是王道。

海枫科技

1、类型不同

MySQL是关系型数据库;而Redis是非关系型数据库。

2、作用不同

mysql用于持久化的存储数据到硬盘,功能强大,但是速度较慢。

redis用于存储使用较为频繁的数据到缓存中,读取速度快。

3、存储类型不同

redis存储的是key-value格式的数据。时间复杂度是O(1),常数阶,而MySQL引擎的底层实现是B+Tree,时间复杂度是O(logn),对数阶。Redis会比MySQL快一点点。

mysql数据存储是存储在表中,查找数据时要先对表进行全局扫描或者根据索引查找,这涉及到磁盘的查找,磁盘查找如果是按条点查找可能会快点,但是顺序查找就比较慢;而Redis不用这么麻烦,本身就是存储在内存中,会根据数据在内存的位置直接取出。

不能,redis主要是缓存数据库,数据存储在内存中,也支持磁盘持久化,存储的数据是非结构化数据,而mysql数据存储在磁盘中,主要存储结构化数据,对于业务来说更适合,redis只是为了提高系统性能和稳定性的中间件,但是并不能取代mysql数据库希望可以帮助你,请采纳,谢谢


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8600108.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存