Redis介绍、Redis基本特性、关系型数据库、非关系型数据库、数据库发展阶段

Redis介绍

Remote Dictionary Service:翻译过来就是远程字典服务,简称redis。

为什么使用redis,需要先弄明白关系型数据库和非关系型数据库的区别,也就是SQL和NoSQL的区别和使用场景。

数据库设计的酸(ACID)碱(BASE)原则

关系型数据库

俗称的SQL数据库,主流的MySQL、Oracle。

关系型数据库的特点

  1. 基于行存储数据,二维的模式(用表格的方式存储,有行有列)
  2. 存储结构化的数据,数据存储有固定的模式(schema)
  3. 表与表之间存在关联(Relationship)
  4. 大都支持SQL(结构化查询语言)的操作,支持复杂的关联查询
  5. 通过支持事务ACID(酸)来提供严格或者实时的数据一致性

关系型数据库的不足

  1. 要实现扩容难,只能向上(垂直)扩展,不支持动态的扩缩容,如果要实现水平扩容的话,需要引进一些复杂的技术,比如分库分表
  2. 表结构修改困难,因此存储的数据格式也受到限制
  3. 高并发情况下,基于磁盘的读写压力比较大

非关系型数据库

non relational,或者NoSQL,主流的Redis、MongoDB。
开始的时候,之所以叫NoSQL,刚开始是因为它不支持结构化查询语言(SQL)的操作,后来演变成not only SQL,不仅仅是SQL。

非关系型数据库特点

  1. 存储非结构化的数据,比如文本、图片、音频、视频
  2. 表与表之间没有关联,可扩展性强
  3. 保证数据的最终一致性,遵循BASE(碱)理论
  4. 支持海量数据的存储和高并发的高效读写
  5. 支持分布式,能够对数据进行分片存储,扩缩容简单

NoSQL的类型

  1. KV存储:Redis和Memcached
  2. 文档存储:MongoDB
  3. 列存储:HBase
  4. 图存储:Neo4j
  5. 对象存储
  6. XML存储
  7. ······

数据库发展阶段

特性SQLNoSQLNewSQL(比如TiDB)
关系模型×
SQL语法×
ACID×
水平扩展×
海量数据×
无结构化×

Redis基本特性

  1. 速度快,放在了内存当中
  2. 支持多种数据类型(Memcached只支持KV)
  3. 支持多种编程语言
  4. 持久化、内存淘汰(Memcached没有持久化的机制)
  5. 功能丰富:事务、发布订阅、pipeline、lua
  6. 集群、分布式(Memcached不支持集群的主从设置,Memcached设计是多线程的)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值