zoukankan      html  css  js  c++  java
  • mysql和redis的主要区别

    一、.redis和mysql的区别总结

    1、类型上

            从类型上来说,mysql是关系型数据库,redis是缓存数据库

    2、作用上

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

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

    3、需求上

           mysql和redis因为需求的不同,一般都是配合使用。

    二、详细说明

    1.mysql和redis的数据库类型

    mysql是关系型数据库,主要用于存放持久化数据,将数据存储在硬盘中,读取速度较慢。

    redis是NOSQL,即非关系型数据库,也是缓存数据库,即将数据存储在缓存中,缓存的读取速度快,能够大大的提高运行效率,但是保存时间有限

    2.mysql的运行机制

    mysql作为持久化存储的关系型数据库,相对薄弱的地方在于每次请求访问数据库时,都存在着I/O操作,如果反复频繁的访问数据库。第一:会在反复链接数据库上花费大量时间,从而导致运行效率过慢;第二:反复的访问数据库也会导致数据库的负载过高,那么此时缓存的概念就衍生了出来。

    3.缓存

    缓存就是数据交换的缓冲区(cache),当浏览器执行请求时,首先会对在缓存中进行查找,如果存在,就获取;否则就访问数据库。

    缓存的好处就是读取速度快

    4.redis数据库

    redis数据库就是一款缓存数据库,用于存储使用频繁的数据,这样减少访问数据库的次数,提高运行效率。

    总结:

    mysql是经典的关系型数据库,而redis是非关系型数据库。

    这两者的主要差异在于查询,redis只能用key去获取value,不支持sql语句来进行查询。而mysql则只能通过sql语句来进行查询,不能直接通过key来获取value。

    因为redis的数据读取过程的时间复杂度是O(1),也就是说和数据量无关。再加上数据保存在内存,所以读取速度在理论上已经达到了上限。而mysql的查询则是通过扫描表来进行,读取的速度取决于数据量,以及是否有合适的索引。



    认清现实,放弃幻想。 细节决定成败,心态放好,认真学习与工作。
  • 相关阅读:
    【方法1】删除Map中Value反复的记录,而且仅仅保留Key最小的那条记录
    hdu3415 Max Sum of Max-K-sub-sequence 单调队列
    HBase总结(十八)Hbase rowkey设计一
    Makefile生成器,使用C++和Boost实现
    quartz cron表达式在线生成
    NS3网络仿真(6): 总线型网络
    连载:面向对象葵花宝典:思想、技巧与实践(35)
    zoj 2921 Stock(贪心)
    11g RAC 加节点 之 手动加入vip 资源
    [Unity3D]Unity+Android交互教程——让手机"动"起来
  • 原文地址:https://www.cnblogs.com/jyf2018/p/15337139.html
Copyright © 2011-2022 走看看