1. redis 是什么???????
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API
2.redis 的数据类型(常用命令参考:http://redisdoc.com/)
string 二进制(图片 音频 视频),最大不能超过512MB
hash是一个string类型的field和value的映射表
list 用来存储多个有序的字符串,一个列表最多可存2的32次方减1个元素
set 保存多元素,与列表不一样的是不允许有重复元素,且集合是无序,一个集合最多可存2的32次方减1个元素
zset 有序集合
3.Redis特性
1〉速度快 NOI技术多路复用原则,Linux nio epoll ,不存在空轮询
2〉键值对的数据结构服务器
3〉丰富的功能:
4〉简单稳定
5〉持久化
6〉主从复制
8〉高可用和分布式转移
9〉客户端语言多
4.Redis全局命令
keys * ,dbsize,exists key,del key,expire key seconds ,ttl key,type key
5 .Redis持久化机制
RDB持久化方式
RDB持久化把当前进程数据生成快照(.rdb)文件保存到硬盘的过程,有手动触发和自动触发
手动触发有save和bgsave两命令
save命令:阻塞Redis,直到持久化完成。
bgsave命令:redis进程执行fork操作创建子线程,由子线程完成持久化,阻塞时间很短(微秒级),是save的优化,在执行redis-cli shutdown关闭redis服务时,如果没有开启AOF持久化,自动执行bgsave;
RDB恢复:d.rdb放到redis安装目录与redis.conf同级目录
优点:1,压缩后的二进制文,适用于备份、全量复制,用于灾难恢复
2,加载RDB恢复数据远快于AOF方式
缺点:1,无法做到实时持久化,每次都要创建子进程,频繁操作成本过高
2,保存后的二进制文件,存在老版本不兼容新版本rdb文件的问题
AOF持久化
开启:redis.conf设置:appendonly yes
流程说明:
1,所有的写入命令(set hset)会append追加到aof_buf缓冲区中
2,AOF缓冲区向硬盘做sync同步
3,随着AOF文件越来越大,需定期对AOF文件rewrite重写,达到压缩
4,当redis服务重启,可load加载AOF文件进行恢复
恢复:将.aof放到dir参数指定的目录
redis 加载RDB和AOF顺序
先加载aof ,加载不到在加载RDB

733

被折叠的 条评论
为什么被折叠?



