Bootstrap

Redis介绍(NoSQL和SQL比较、redis应用场景及特点等)

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中文官网

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;