文章目录

  • Redis是什么?
  • 支持的数据类型
  • 关系型数据库与非关系型数据库
  • 一、关系型数据库
  • 优点
  • 缺点
  • 数据库
  • 二、非关系型数据库
  • 优点
  • 缺点
  • 数据库
  • 比较


Redis是什么?

Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持
多种类型的数据结构,如 字符串(string),散列(hashes), 列表(lists),集合(sets),有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了复制(replication),LUA脚本(Lua scripting),LRU驱动事件(LRU eviction),事务(transactions)和不同级别的磁盘持久化(persistence),并通过Redis哨兵(Sentinel)和自动分区(Cluster)提供高可用性(high availability)

支持的数据类型

string、hash、list、set、sorted set

关系型数据库与非关系型数据库

一、关系型数据库

采用关系模型来组织数据的数据库,关系模型就是二维表格模型。一张二维表的表名就是关系,二维表中的一行就
是一条记录,二维表中的一列就是一个字段。

优点

  • 容易理解
  • 使用方便,通用的sql语言
  • 易于维护,丰富的完整性(实体完整性、参照完整性和用户定义的完整性)大大降低了数据冗余和数据不一致的概

缺点

  • 磁盘I/O是并发的瓶颈
  • 海量数据查询效率低
  • 横向扩展困难,无法简单的通过添加硬件和服务节点来扩展性能和负载能力,当需要对数据库进行升级和扩展
    时,需要停机维护和数据迁移
  • 多表的关联查询以及复杂的数据分析类型的复杂sql查询,性能欠佳。因为要保证acid,必须按照三范式设计。

数据库

Orcale,Sql Server,MySql,DB2

二、非关系型数据库

非关系型,分布式,一般不保证遵循ACID原则的数据存储系统。键值对存储,结构不固定。

优点

根据需要添加字段,不需要多表联查。仅需id取出对应的value
适用于SNS(社会化网络服务软件。比如facebook,微博)
严格上讲不是一种数据库,而是一种数据结构化存储方法的集合

缺点

只适合存储一些较为简单的数据
不合适复杂查询的数据
不合适持久存储海量数据

数据库

K-V:Redis,Memcache
文档:MongoDB
搜索:Elasticsearch,Solr
可扩展性分布式:HBase

比较

内容

关系型数据库

非关系型数据库

成本

有些需要收费(Orcale)

基本都是开源

查询数据

存储存于硬盘中,速度慢

数据存于缓存中,速度快

存储格式

只支持基础类型

K-V,文档,图片等

扩展性

有多表查询机制,扩展困难

数据之间没有耦合,容易扩展

持久性

适用持久存储,海量存储

不适用持久存储,海量存储

数据一致性

事务能力强,强调数据的强一致性

事务能力弱,强调数据的最终一致性

PS:最近的数据库排名(更新于2022.1.19)

链接:https://db-engines.com/en/ranking

redis 的库 redis的数据库_nosql