redis 和Mysql 的一些 区别[通俗易懂]

redis 和Mysql 的一些 区别[通俗易懂]说Redis的缓存机制实现之前,我想先回顾一下mysqlmysql存储在哪儿呢?以windows为例,mysql的表和数据,存储在data目录下frmibd后缀的文件中mysql存储在机器/服务器的硬盘中所以mysql读写数据都需要从磁盘读取。磁盘的容量,带宽的大小就影响了网站的访问速度,读取的方式,也就是sql语句,次数和效率也会影…

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

Redis 的缓存机制实现之前,我想先回顾一下 mysql

redis 和Mysql 的一些 区别[通俗易懂]

mysql 存储在哪儿呢?

windows 为例,mysql 的表和数据,存储在data 目录下frm ibd 后缀的文件中

mysql存储在机器/服务器的 硬盘中

所以 mysql 读写数据都需要从磁盘读取 。磁盘的容量,带宽的大小就影响了网站的访问速度,读取的方式,也就是 sql 语句,次数和效率也会影响读取效率。

当访问量和并发很大的时候,mysql 就撑不住了,据统计,mysql的连接池并发数max为 500-1000

这时,我们可以通过 慢查询优化cdn ,页面静态化, nginx 负载均衡策略 ,甚至 分布式数据库 来进行 sql优化 ,当然也可以使用 高速缓存,比如 redis


redis 和Mysql 的一些 区别[通俗易懂]

Redis - 高并发,内存高速cache ,处理读写io的高并发容忍。

redis 通常被使用来将那些经常被访问的内容缓存在内存中。

很多人谈到redis ,哦,k-v 存储数据库啊, 速度快啊!为什么快啊? 人家存内存啊,能不快吗?关键人家还支持复杂的数据结构,list 什么的,很多高并发场景都可以使用。 比如:电商秒杀场景的解决策略与具体原理

remote dictionary server (远程数据服务) 内存高速缓存数据库 数据模型为 k-v 也就是redis 的一种最经常使用的数据类型 string

k-v 的算法时间复杂度 可是 0(1) 而mysql 的查询是基于表关联技术 ,这就是nosql的优势所在。

附上redis 和memcahe 的比较

  1. Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  2. Redis支持master-slave(主-从)模式应用,高可用的cache系统,支持集群服务器之间数据同步。

  3. Redis支持数据持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。

  4. Redis单个value的最大限制是1GB,(k-v),memcached只能保存1MB的数据。(k:250kb v:1mb)

redis 比sql 到底快多少呢?
1 从存储媒介来看,内存比磁盘的读取速度 hash查找是100w/s 的数量级

2 多路复用io (todo)


redis 和mysql 绝对不是竞争的关系,就好像你拿485和86去秋名山飙车,他们应该是一对好基友,在工作中合理运用两者才能达到更好的效果。

这里写图片描述

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

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

(0)
上一篇 2022年6月26日 下午6:46
下一篇 2022年6月26日 下午7:00


相关推荐

  • python中setdefault_python练习之setdefault用法详解

    python中setdefault_python练习之setdefault用法详解setdefault 作为 python 字典中的函数 有很多功能 语法 dict setdefault key default None key 为查找的键 default 为查不到时 系统自动在字典里生成的与 key 对应的值 如果存在该键值对 则返回对应的值 否则返回 default 的参数用法 给字典中的不存在的键赋值为 default 的参数 gt gt gt spam name

    2026年3月19日
    2
  • happypack 多线程编译 vue-loader

    happypack 多线程编译 vue-loader基于 vue cli2 版本 在 webpack base conf js 中添加即可 plugins newHappyPack id happy babel js loaders babel loader cacheDirecto true threadPool happyThreadP

    2026年3月26日
    2
  • kafka集群及与springboot集成

    kafka集群及与springboot集成linux搭建,kafkao3节点虚拟机为CentOS6,ip为192.168.1.128,192.168.1.129和192.168.1.130,域名分别为master,worker1,worker21.集群#192.168.1.128[root@masterlocal]#cd/home/gilbert/app/rar/[root@masterrar]#tarzxv…

    2022年4月25日
    45
  • 月之暗面将完成新一轮融资,引入海外投资机构

    月之暗面将完成新一轮融资,引入海外投资机构

    2026年3月12日
    2
  • 工程机械核心部件寿命预测前三名方案总结与2022年最新方案分享(万文详解)[通俗易懂]

    工程机械核心部件寿命预测前三名方案总结与2022年最新方案分享(万文详解)[通俗易懂]1.比赛学习方法论2.工业寿命预测赛题讲解2.1赛题背景2.2赛题任务和数据介绍2.3评测标准2.4初赛与复赛排行榜2.5数据分析2.6数据预处理2.7特征提取3.前三名数据预处理方法比较4.前三名特征工程方法比较4.1特征构建4.2特征选择5.前三名模型构建比较6.代码与数据7.2022年最新思路分享………

    2022年8月31日
    3
  • Linux 内核定时器实验

    Linux 内核定时器实验Linux时间管理和内核定时器简介50.1.1内核时间管理简介学习过UCOS或FreeRTOS的同学应该知道,UCOS或FreeRTOS是需要一个硬件定时器提供系统时钟,一般使用Systick作为系统时钟源。同理,Linux要运行,也是需要一个系统时钟的,至于这个系统时钟是由哪个定时器提供的,笔者没有去研究过Linux内核。Linux内核中有大量的函数需要时间管理,比如周期性的调度程序、延时程序、对于我们驱动编写者来说最常用的定时器。硬件定时器提

    2022年7月26日
    14

发表回复

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

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