mysql和redis的区别

mysql和redis的区别1.mysql和redis的数据库类型mysql是关系型数据库,主要用于存放持久化数据,将数据存储在硬盘中,读取速度较慢。redis是NOSQL,即非关系型数据库,也是缓存数据库,即将数据存储在缓存中,缓存的读取速度快,能够大大的提高运行效率,但是保存时间有限2.mysql的运行机制mysql作为持久化存储的关系型数据库,相对薄弱的地方在于每次请求访问数据库时,都存在着I/O操作,如果反复…

大家好,又见面了,我是你们的朋友全栈君。

1.mysql和redis的数据库类型

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

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

2.mysql的运行机制

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

3.缓存

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

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

4.redis数据库

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

5.redis和mysql的区别总结

(1)类型上

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

(2)作用上

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

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

(3)需求上

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

补充:
redis和mysql要根据具体业务场景去选型

mysql:数据放在磁盘 redis:数据放在内存

redis适合放一些频繁使用,比较热的数据,因为是放在内存中,读写速度都非常快,一般会应用在下面一些场景

排行榜、计数器、消息队列推送、好友关注、粉丝

首先要知道mysql存储在磁盘里,redis存储在内存里,redis既可以用来做持久存储,也可以做缓存,而目前大多数公司的存储都是mysql + redis,mysql作为主存储,redis作为辅助存储被用作缓存,加快访问读取的速度,提高性能
那么为什么不直接全部用redis存储呢?
我的看法是:因为redis存储在内存中,如果存储在内存中,存储容量肯定要比磁盘少很多,那么要存储大量数据,只能花更多的钱去购买内存,造成在一些不需要高性能的地方是相对比较浪费的,所以目前基本都是mysql(主) + redis(辅),在需要性能的地方使用redis,在不需要高性能的地方使用mysql,好钢用在刀刃上
1、mysql支持sql查询,可以实现一些关联的查询以及统计;

2、redis对内存要求比较高,在有限的条件下不能把所有数据都放在redis;

3、mysql偏向于存数据,redis偏向于快速取数据,但redis查询复杂的表关系时不如mysql,所以可以把热门的数据放redis,mysql存基本数据

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/147668.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • [Arm]使用modprobe时 “modprobe: can‘t change directory to …”

    [Arm]使用modprobe时 “modprobe: can‘t change directory to …”最近在加载一个叫dmatest的模块时,报错modprobe:can’tchangedirectoryto’…’:Nosuchfileordirectory,做一个问题记录。首先,modprobe的解释:modprobe是linux的一个命令,可载入指定的个别模块,或是载入一组相依的模块。modprobe会根据depmod所产生的相依关系,决定要载入哪些模块。若…

    2025年7月5日
    3
  • c语言开发ETL,【ETL开发工作内容|工作职责|ETL开发做什么】-看准网「建议收藏」

    c语言开发ETL,【ETL开发工作内容|工作职责|ETL开发做什么】-看准网「建议收藏」工具应用ETL工具的典型代表有:Informatica、Datastage、OWB、微软DTS、Beeload、Kettle、久其ETL……开源的工具有eclipse的etl插件:cloveretl数据集成:快速实现ETLETL的质量问题具体表现为正确性、完整性、一致性、完备性、有效性、时效性和可获取性等几个特性。而影响质量问题的原因有很多,由系统集成和历史数据造成的原因主要包括:业务系统不同时期…

    2022年6月5日
    32
  • 解决FTP登录太慢

    解决FTP登录太慢

    2020年11月19日
    214
  • javascript 数组排序,找到相同元素[通俗易懂]

    javascript 数组排序,找到相同元素[通俗易懂]小白前端一个,公司项目,里面有一个数组增加,删除,去重,排序,找到相同元素个数等等…这是冒泡排序vararr=[10,20,1,2];vart;for(vari=0;i<arr.length;i++){for(j=i+1;j<arr.length;j++){if(arr[i]>arr[j]){t…

    2022年5月1日
    64
  • 双机流水作业调度问题——Johnson算法「建议收藏」

    双机流水作业调度问题——Johnson算法「建议收藏」概述流水作业是并行处理技术领域的一项关键技术,它是以专业化为基础,将不同处理对象的同一施工工序交给专业处理部件执行,各处理部件在统一计划安排下,依次在各个作业面上完成指定的操作。流水作业调度问题是一个非常重要的问题,其直接关系到计算机处理器的工作效率。然而由于牵扯到数据相关、资源相关、控制相关等许多问题,最优流水作业调度问题处理起来非常复杂。已经证明,当机器数(或称工序数)大于等于3时,流水作业调度问题是一个NP-hard问题(e.g分布式任务调度)。粗糙地说,即该问题至少在目前基本上没有可能找到多项

    2025年5月24日
    2
  • php 将网络图片下载本地[通俗易懂]

    php 将网络图片下载本地

    2022年2月12日
    52

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号