精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
说到数据库,我想大家最熟悉的应该就是mysql数据库。我最开始学的也是mysql数据库,毕竟刚开始都是小白,啥也不懂,反正就知道跟着网上大多数人推荐的学准没错。
不少教学课程都是学完mysql数据库之后,接着还要学习另一个数据库——redis数据库,这让我我很迷惑,数据库学一个不就行了吗,学个最流行的不就行了吗,咋还要学。
但是既然推荐学了,肯定是有理由的,回想我们最开始学习数据库的时候,老师对不同数据库的介绍,说 mysql是关系型数据库,如下所示
其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。当我们向数据库中插入一条数据的时候,如下,要先选择数据库,插入的时候还要指定表名,“insert into 表名(列名,,) value(值1,,)”等等。
近些年,硬盘有固态,图片有CDN,而Redis则应运而生,帮数据库缓存数据,以降低对硬盘的压力。而数据就不需要像表格的形式,所以,redis是非关系型数据库,同样的我们向redis里插入一条字符串数据:
没有向mysql数据那么麻烦,我们直接设定键和值的值就可以了。 我们可理解为Redis是只有一列的表,一个表里只有一列一个数据,但是数据相关的CRUD相似操作都要有。
mysql主要用于存放持久化数据,将数据存储在硬盘中。而我们的redis是将将数据存储在缓存中。学习过计算机原理的小伙伴应该都知道,缓存的读取速度要比硬盘快,数据存储在缓存中能够大大的提高运行效率,但是保存时间有限。
mysql作为持久化存储的关系型数据库,相对薄弱的地方在于每次请求访问数据库时,都存在着I/O操作,如果反复频繁的访问数据库。第一:会在反复链接数据库上花费大量时间,从而导致运行效率过慢;第二:反复的访问数据库也会导致数据库的负载过高,那么此时缓存的概念就衍生了出来,而我们的redis数据库就是一款缓存数据库,用于存储频繁使用的数据,这样减少访问数据库的次数,提高运行效率。
归根结底,还是因为mysql并不是完美的,因此我们需要学习redis数据库来弥补mysql数据库的不足,但为什么是弥补而不是替代呢?redis从性能上可以说是能够完全替代mysql,但大家可能忘记了一点,内存是要比硬盘贵的多的,因此大多数情况下都是两种数据库结合使用。