这是一篇Redis入门的文章,就简单介绍一下啥是Redis 顺便涉及其他概念性的名词也顺便说一下~
Redis 是可基于内存亦可持久化的日志型、Key-Value 非关系型数据库。
概念中有两个重点:
- 基于内存,正是因为基于内存的数据库,因而他有一个非常优秀的特点,查询数据超级快;
- Key-Value,因为是Key-Value的数据库结构,所以他不是关系型数据库;
什么是关系型数据库呢?
- 关系型数据库指采用了关系模型来组织数据的数据库。
- 关系模型:简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。
- 关系模型中常用的概念:
- 关系:可以理解为一张二维表,每个关系都具有一个关系名,就是通常说的表名;
- 元组:可以理解为二维表中的一行,在数据库中经常被称为记录;
- 属性:可以理解为二维表中的一列,在数据库中经常被称为字段;
- 域:属性的取值范围,也就是数据库中某一列的取值限制;
- 关键字:一组可以唯一标识元组的属性,数据库中常称为主键,由一个或多个列组成;
- 关系模式:指对关系的描述。其格式为:关系名(属性1,属性2, ... ... ,属性N),在数据库中成为表结构;
非关系型数据库呢?
- 以键值对(Key-Value)存储,且结构不固定;
- 每一个元组可以有不一样的字段,每个元组可以根据需要增加一些自己的键值对,这样就不会局限于固定的结构,可以减少一些时间和空间的开销;
- 使用这种方式,用户可以根据需要去添加自己需要的字段,这样,为了获取用户的不同信息,不需要像关系型数据库中,要对多表进行关联查询;
- 仅需要根据id取出相应的value就可以完成查询;
简单说了一下Redis,下面说一下Redis 中的数据结构~
数据结构
这里说的数据结构是Value的数据结构哦不是存储键(Key)哦
Value的数据类型有5种:
STRING(字符串)、LIST(列表)、SET(集合)、HASH(散列)、ZSET(有序集合)
Redis 的STRING(字符串)存储的值不仅仅是字符串,还有整数和浮点型,为什么也特别说这个呢,因为Redis的STRING支持整数和浮点数的自增和自减操作哦还是原子性的操作哦
网友评论