Redis 01: 非关系型数据库 + 配置Redis

数据库应用的发展历程

  • 单机数据库时代:一个应用,一个数据库实例
  • 缓存时代:对某些表中的数据访问频繁 , 则对这些数据设置缓存(此时数据库中总的数据量不是很大)
  • 水平切分时代:将数据库中的表存放到不同数据库实例中(单张表中存放的数据太多),一个应用可以对应多个数据库实例
  • 垂直切分时代:将一个表按照字段拆分,同一张表中的数据存放到不同表,甚至于不同数据库中(因为此时一个表中的一个字段的数据量已经很大)
  • 读写分离时代:有的数据库负责接收查询命令,有的数据库负责接收数据导入,数据修改等请求,将读写请求分离开,缓解数据库压力
  • 分表分库时代(集群):一个表中的数据分成多表或者多库存储,要查询哪个阶段的数据就去查询对应阶段的数据库
  • 关系型数据库:oracle、mysql、DB2、sqlserver...
  • 非关系型数据库(NoSql): 彻底改变底层存储机制 。不再采用关系数据模型,而是采用聚合数据结构存储数据 。redis、mongoDB、HBase...
关系型与非关系型数据库的表结构对比
  • 关系型
    tbl_studenttbl_clazzidnameageclazz_ididname1001zhangsan 20111111clazz11002lisi21111222clazz2
  • 非关系型
    {id:1001, name:zhangsan, age:20, clazz:{id:111,name:clazz1 }}{id:1002, name:lisi, age:21, clazz:{id:111,name:clazz1 }}
非关系型数据库的表结构特点
  • 采用聚合模型存储数据
    把一组相关联的数据作为一个整体进行存储和管理 。将BSON数据保存到键值对中、数据和数据之间逗号隔开,{}表示对象,[]表示数组 。
  • 关于BSON数据格式
    其中BSON指:一种计算机数据交换格式,主要被用作MongoDB数据库中的数据存储和网络传输格式 。它是一种二进制表示形式,能用来表示简单数据结构、关联数组(MongoDB中称为“对象”或“文档”)以及MongoDB中的各种数据类型 。BSON之名缘于JSON,含义为Binary JSON(二进制JSON)
  • 可采用K-V键值对、列簇、图表模型等存储数据 。
Redis简介
  • Redis是一种数据库 。能够存储数据、管理数据的一种软件 。
  • Redis是一个用C语言编写的、开源的、基于内存运行并支持持久化的、高性能的NoSQL(not only sql)数据库.也是当前热门的NoSQL数据库之一 。
  • Redis中的数据大部分时间都是存储内存中的,适合存储频繁访问、数据量比较小的数据,是一种缓存数据库
  • Redis采用的是K-V模型存储数据的 。
Redis特点1、支持数据持久化 Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用 。2、支持多种数据结构 Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset , hash等数据结构的存储 。3、支持数据备份 Redis支持数据的备份,即master-slave模式的数据备份 。linux环境下配置Redis