一、简述
- redis是单进程,默认16个数据库,初始默认选择0号库,可通过select+数字选择库,flushdb清空当前库,flushall清空所有库。
二、redis五大数据类型
-
String
string.png -
List:它是一个字符串列表,头尾都可以插入,如果键不存在,则创建,否则直接插入,若键内容为空,则删除该键,头尾操作效率高,中间操作效率差。
list.png -
Hash:KV模式不变,但值是一个键值对。
hash.png -
Set
set.png -
Zset:在set的基础上,加上一个score
zset.png
三、redis的持久化
-
RDB(Redis Database):保存的是dump.rdb文件。
rdb.png
优势:适合大规模的数据恢复(前提是对数据完整性和一致性要求不高)。
劣势:在一定时间内做备份,若意外宕机,最后一次修改可能会丢失。并且fork的时候会暂用两倍内存空间。
-
AOF(Append only file):保存的是appendonly.aof文件。
aof.png
优势:根据策略选择,宕机时丢失数据较少。
劣势:相同数据集的数据而言aof文件要远大于rdb文件,恢复速度慢于rdb。
rewrite.png -
总结
总结.png
四、redis主从复制
- 配从(库)不配主(库)
配置方式:slaveof 主库ip 主库端口 - 常用方式:
a. 一主二仆:读写分离,主库只写,从库只读。
b. 薪火相传:a<-b<-c(b是a的仆从,c是b的仆从)这样的主从配置,减少主库的复制压力。
c. 反客为主:slaveof no one
d. 哨兵模式:当被监控的主库宕机时,通过投票的方式选出新的主库。当宕机的机器恢复时自动变为从库。(若不采用哨兵模式,则主库挂了后,从库处于待机状态)。
五、redis事务
-
redis部分支持事务
transaction.png
网友评论