入门NoSQL以及redis
NoSQL概述
NoSQL = Not Only SQL
泛指 非关系型数据库
为什么要使用NoSQL
时代变迁,一般数据库已经无法支撑大数据了
也是NoSQL的特点,让其逐渐热门。
NoSQL特点
-
拓展性强
-
高性能 大数据量
-
数据类型多样(如果采用敏捷开发,这个是很好的选择,不需要事先设计数据库,随取随用)
NoSQL分类
基本分为 KV键值对,文档型数据库,列存储数据库,图关系数据库
其中KV键值对以Redis为代表,文档型数据库(bson格式)以MongoDB为代表,列存储以 Hbase为代表
另外,图关系数据库不是存储图片的,是用来存储关系的,就像qq的好友关系,
MongoDB也是最接近于传统关系型数据库的。
了解Redis
redis是一种高级的key:value存储系统,其中value支持五种数据类型
- 字符串(strings)
- 字符串列表(lists)
- 字符串集合(sets)
- 有序字符串集合(sorted sets)
- 哈希(hashes)
Redis持久化
持久化可以说是Redis的一大特点,如果不适用Redis持久化,那Redis仅仅只是缓存。
Redis持久化分为RDB和AOF两种方式
RDB
将redis某一时刻的数据持久化到磁盘中,是一种快照式的持久化方法。
整个过程为:进行数据持久化过程时,会单独创建一个子进程来进行持久化,主进程不会进行任何IO操作,这样保证了Reds的高性能;然后会将数据先写入一个临时文件中,等持久化完成后,会将临时文件替代掉原先上次持久化的文件。因为快照总是完整可用的,可以随时来进行备份。
注意如果要进行大规模数据的恢复,RDB方式对于数据恢复的完整性并不敏感,但RDB比AOF效率更高。
AOF
AOF,英文是Append Only File,即只允许追加不允许改写的文件。
AOF方式是将 执行过的写指令记录下来,在数据恢复时按照从前到后的顺序再将指令都执行一遍。
这里涉及到一个问题,那就是AOF采用追加数据的方式,AOF文件会越来越大。
为此,Redis提供了一种机制,重写 (rewrite) 即AOF文件大小超过所设定的阈值时,会自动将AOF文件的内容压缩,只保留可以恢复数据的最小指令集
以上就是NoSQL和Redis的入门知识,欢迎评论给予指导。