Redis介绍(NoSql和Sql对比、redis应用场景及特点等)
NoSQL介绍
- NoSQL 仅仅是一个概念,泛指非关系型的数据库。
- 通常描述为non-relational、Not Only SQL。
- 有区别于关系型数据库(SQL)的概念,关系型数据库是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,比如,MySQL、Oracle、SQLServer、…
- NoSQL 的数据模型为Key-Value,即使用Key-Value存储数据。
- Key-Value存储数据的结构跟传统关系型数据库中的关系表完全不同。
- 不支持关系型SQL语法,比如,不支持MySQL数据库的语法。
- NoSQL类型的数据库没有一种通用的语言,每种NoSQL数据库都有自己的API和语法,以及擅长的业务场景。
- NoSQL中的产品种类相当多:
Redis:用作数据库、缓存和消息队列
Mongodb:用作文档存储
Hbase hadoop:用作大数据处理
NoSQL优点
- 结构简单、易扩展:没有关系型数据库的关系型特性,数据之间无关系,这样就非常容易扩展。
- 大数据量、高性能,基于NoSQL的无关系性,所以NoSQL数据库都具有非常高的读写性能,尤其在大数据量下的性能表现非常优秀。
NoSQL和SQL比较
适用场景不同
- SQL数据库适用于关系特别复杂的数据场景。
- NoSQL数据库适用于关系相对简单的数据场景。
存储数据的模型不同
- SQL数据库的数据模型以关系为模型,体现为数据表。
- NoSQL数据库的数据模型为Key-Value。
读写性能不同
- NoSQL读写性能是优于SQL的。
Redis简介
- Redis 是一个开源的,内存型的数据结构存储系统。
- Redis 可以用作数据库、缓存和消息中间件。
- Redis 支持多种类型的数据结构,如 字符串(strings),散列(hashes),列表(lists),集合(sets),有序集合(sorted sets)。
- Redis 是使用 key-value 存取数据的。
- Redis 属于NoSQL阵营中的一员,具备NoSQL的特点。
Redis特点
- Redis支持存储的数据类型丰富:字符串、散列、列表、集合、有序集合。
- Redis支持数据的持久化:可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
- Redis支持数据的备份:即master-slave模式(主从模式)的数据备份。
- Redis读写性能极高:读的速度是110000次/s,写的速度是81000次/s。
- 原子性:Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
Redis应用场景
- 缓存
合理的利用缓存不仅能够提升网站访问速度,还能大大降低数据库的压力。 - 购物车
电商网站的购物车数据数据量不大,关系简单,可以基于Redis实现。 - 消息系统
消息队列是大型网站必用中间件,主要用于业务解耦、流量削峰及异步处理实时性低的业务。 - 计数器
如电商网站商品的浏览量、视频网站视频的播放数等。为了保证数据实时效,每次浏览后都要加1。
基于Redis高并发性、内存操作、性能好的特点,非常适用于这些计数场景。 - 其他场景:
排行榜,可使用Redis提供的有序集合实现。
社交网站的点赞、踩、关注/被关注,可使用Redis提供的哈希、集合实现。
最近浏览记录,可使用Redis提供的列表实现。
其他资料
点我去redis英文官网
点我去redis中文官网