Redis是什么,为什么大小公司都在使用?

Redis微信红包、微博、淘宝、天猫、京东、唯品会

说到redis不得不讲nosql

NoSQL是不同于传统的关系数据库的数据库管理系统的统称。其两者最重要的区别在于NOSQL不使用SQL作为查询语言。NoSQL数据存储可以不需要固定的表格模式。NoSQL是基于键值对的,可以想象成表中的主键和值的对应关系

常见NoSQL

Redis、memcached、mongodb、guava(loadingCache)

Redis的定义

Redis是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。它支持多种类型的数据结构,如字符串(String)、散列(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)等

从mysql来对比redis

概念: 关系型数据库的一个常见用法是存储长期的报告数据,并将这些报告数据用作固定时间范围内的聚合数据。收集聚合数据的常见做法是:先将各个行插入一个报告表里面, 之后再通过扫描这些行来收集聚合数据, 并更新聚合表中巳有的那些行。

Mysql执行过程

1.客户端/服务器发送TCP通信协议

2.SQL查询判断是否有缓存(多次查询相同结果Mysql也具有缓存)如果有缓存直接返回结果不走3.4.5步

3.缓存不存在解析SQL,通过解析器得到解析树,再进行预处理再得到新的解析树 查询前explain可得到解析树

(如果SQL有误会在解析器进行返回结果)

4.该解析树是否可以得到优化(查询优化器)

扫描二维码关注公众号,回复: 12918493 查看本文章

(比如inner join left join 子查询 依赖子查询 排序等等)

5.生成执行计划(explain)>查询执行引擎>存储引擎>从磁盘里拿数据(索引是最后触发的,建立索引会增大内存表的空间)
具体的大小Mysql也没有给出官方的答案,大概是四分之一吧。没有索引就要进行全表扫描
在这里插入图片描述

结论:什么时候使用mysql性能是最高的呢?命中缓存,如果名中缓存就不用走后面3.4.5步了,最内存缓存是最快的。使用缓存走内存的方式要比走硬盘的数据库快的多,大大减少Mysql的压力

猜你喜欢

转载自blog.csdn.net/q736317048/article/details/113826929