Redis到底是什么?

Posted 一心同学

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis到底是什么?相关的知识,希望对你有一定的参考价值。

📢📢📢📣📣📣

哈喽!大家好,我是【一心同学】,一位上进心十足的【Java领域博主】!😜😜😜

✨【一心同学】的写作风格:喜欢用【通俗易懂】的文笔去讲解每一个知识点,而不喜欢用【高大上】的官方陈述。

✨【一心同学】博客的领域是【面向后端技术】的学习,未来会持续更新更多的【后端技术】以及【学习心得】。

✨如果有对【后端技术】感兴趣的【小可爱】,欢迎关注一心同学】💞💞💞

❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️ 


目录

前言

一、NoSQL是什么?

🌴  关系型数据库与非关系型数据库区别

🌴  为什么要用NoSQL?

🌴  NoSQL四大分类

🔥  NoSQL小结

二、什么是Redis?

三、 Redis的特点

四、Redis的优势

五、Redis的应用场景

小结


前言

在理解Redis是什么之前,我们先来学习什么是NoSQL,这样才可以更加方便我们去理解Redis

一、NoSQL是什么?

NoSQL的全程是 Not Only SQL ,意思是:“不仅仅是SQL”,是指非关系型的数据库,是一项全新的数据库革命性运动

🌴  关系型数据库与非关系型数据库区别

🚀关系型数据库:

(1)高度组织化结构化数据
(2)结构化查询语言(SQL
(3)数据和关系都存储在单独的表中。
(4)数据操纵语言,数据定义语言
(5)严格的一致性 
(6)遵循ACID规则原子性一致性隔离性持久性,一个支持事务的数据库,必需要具有这四种特性,否则在事务过程当中无法保证数据的正确性)

🚀非关系型数据库:

(1)不仅仅是SQL
(2)没有声明性查询语言
(3)没有预定义的模式
(4)键 - 值对存储,列存储,文档存储,图形数据库
(5)最终一致性,而非ACID属性
(6)高性能,高可用,高可扩

🌴  为什么要用NoSQL?

在90年代,一个网站的访问量一般都不大,用单个数据库完全可以轻松应付,故当时使用关系型数据库是没有问题的。

随着互联网技术的发展MySQL 等关系型数据库就不够用了,因为我们需要存储很多非常大的数据,例如文件,博客,图片等等以及在商城网站中对商品数据频繁查询、对热搜商品的排行统计订单超时问题,虽然关系型数据库也能做,但这样的话我们的数据库表就很大,性能也很低,而且数据的大量增加,我们对数据库的设计也越来越困难了!

而我们的非关系型数据库NoSQL就可以解决上面的问题,能够很好的处理这些大的数据!

🌴  NoSQL四大分类

类型相关产品应用场景优点缺点
键值数据库Redis、Riak、SimpleDB、Chordless、Scalaris、Memcached内容缓存,主要用于处理大量数据的高访问负载,也用于一些日志系统等等查找速度快,扩展性好、灵活性好、大量写操作时性能高无法存储结构化信息、条件查询效率较低
列族数据库Cassandra,HBase,Riak分布式数据存储与管理查找速度快、可扩展性强、容易进行分布式扩展、复杂性低功能相对局限
文档数据库MongoDb,CouchDB存储、索引并管理面向文档的数据或者类似的半结构化数据性能好、灵活性高、复杂性低、数据结构灵活查询性能不高,缺乏统一的查询语言
图形数据库Neo4J,InfoGrid,Infinite Graph大量复杂、互连接、低结构化的图结构场合,如社交网络、推荐系统等注重于构建关系图的场景灵活性高、支持复杂的图形算法、可用于构建复杂的关系图谱复杂性高、只能支持一定的数据规模,很多时候需要对整个图做计算才能得出需要的信息

🔥  NoSQL小结

(1)NoSQL数据库都具有非常高的读写性能尤其在大数据量下,同样表现优秀。这得益于它的无关系性,数据库的结构简单。

(2)NoSQL数据库的出现,弥补了关系数据(比如mysql)在某些方面的不足,在某些方面能极大的节省开发成本和维护成本

(3)MySQLNoSQL都有各自的特点和使用的应用场景,两者的紧密结合将会给web2.0的数据库发展带来新的思路。让关系型数据库关注在关系上,NoSQL关注在存储上。

二、什么是Redis?

Redis是在NoSQL中发展最快同时也是最受欢迎NoSQL数据库之一,是一个使用ANSI C编写的开源、包含多种数据结构支持网络基于内存可选持久性键值对存储数据库

三、 Redis的特点

(1)Redis以内存作为数据存储介质,所以读写数据的效率极高,远远超过数据库。

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

(3)Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash多种数据结构的存储

(4)Redis支持数据的备份(master-slave)与集群(分片存储),以及拥有哨兵监控机制

(5)支持事务
 

四、Redis的优势

🚀性能极高 – Redis能的速度是110000次/s,的速度是81000次/s
🚀丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
🚀原子 – Redis的所有单命令操作都是原子性的,意思就是要么成功执行要么失败完全不执行单条命令式保存原子性的,但是事务不保证原子性,通过MULTI和EXEC指令包起来。
🚀丰富的特性 – Redis还支持 发布/订阅(publish/subscribe), 通知, key 过期等等特性。

五、Redis的应用场景

假设在某一个大型网站首页一天有100万人访问,其中有一个板块为推荐新闻。要是直接从数据库查询,那么一天就要多消耗100万次数据库请求。上面已经说过,Redis支持丰富的数据类型,所以这完全可以用Redis来完成,将这种热点数据存到Redis(内存)中,要用的时候,直接从内存取,极大的提高了速度和节约了服务器的开销。

Redis的应用是非常广泛的,而且极有价值,是服务器中的一件利器!


小结

以上就是【一心同学】对【NoSQL】以及【Redis】的介绍,通过一番讲解,是不是对Redis的【强大】所震撼到了,虽然我们平时只是简单的浏览一个网站,但其网站后面所使用的【技术】却是经过了【很长时间】发展而来的,我们的【Redis】也是如此,在后面的博客里,【一心同学】将会【详细】介绍【Redis的使用】。

如果这篇【文章】有帮助到你,希望可以给【一心同学】点个👍,创作不易,相比官方的陈述,我更喜欢用【通俗易懂】的文笔去讲解每一个知识点,如果有对【后端技术】感兴趣的小可爱,也欢迎关注❤️❤️❤️ 【一心同学】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💕💕!

以上是关于Redis到底是什么?的主要内容,如果未能解决你的问题,请参考以下文章

Git到底是什么?

Redis 到底是如何实现“附近的人”这个功能呢?

Redis 到底是怎么实现“附近的人”这个功能的呢?

《四大点,搞懂Redis到底快在哪里?》

Redis到底是单线程还是多线程?

90后二流大学程序员自述:从“菜鸟”到“辣鸡”,我到底经历了什么?