Redis持久化 RDB, AOF——redis基础认识

1. Redis基础概念

  • 什么是redis

    redis:基于键值对的Nosql数据库

  • redis存储的五种基础数据结构

    String(字符串),hash(哈希) ,list(列表) ,set(集合),zset(有序集合)

  • redis特点

    redis命令执行速度非常快。

     redis所有数据是放在内存中的,这是redis执行速度快的主要原因
     redis使用的事单线程架构,预防了多线程可能产生的竞争问题。
    

    reids能做的事情

     redis提供建过期功能,实现缓存
     提供发布订阅功能,实现简单的消息系统(一般消息系统还是使用MQ之类的中间件,术业有专攻)
     简单的事务功能,一定程度保证命令执行的事务特性
     流水线Pipeline功能,客户端能一次性执行多个命令,减少网络开销
    
  • redis RESP 协议

     redis客户端与服务端协议,是建立在TCP协议基础之上的,RESP序列化协议简单高效,容易识别。
    

2.Redis持久化

  • RDB (Redis DataBase) 数据快照

           RDB持久化是将当前进程数据生成快照,保存到硬盘的过程。此过程会造成长时间阻塞,RDB执行时,会阻塞redis服务器,知道RDB过程完成为止。

    优点:
    	RDB是紧凑压缩的二进制文件,是Redis在某个时间点上的数据快照,适用于数据备份。
    	Redis加载RDB文件的速度要快于AOF的方式
    	
    缺点:
    	RDB没办法做到秒级持久化,因为执行成本高,阻塞服务器。
    	RDB文件在Redis各个版本之间不兼容
    		
    
  • AOF (Append Only File) 以文本文件方式寄存数据

           AOF以独立日志的方式记录每次写命令,重启的时候再重新执行AOF中的命令达到恢复数据的目的。AOF解决了数据持续化的实时性。

           AOF与RDB的存储区别,导致两者执行的速度差异,AOF重新执行写指令,这个过程时间慢于RDB。

           appendonly yes 指令开启AOF配置,默认是不开启AOF的。

    AOF工作流程大致为:
           1、所有的写入命令会追加到aof_buf(缓冲区)中。
           2、AOF缓冲区根据对应的策略向硬盘做同步操作。
           3、 随着AOF文件越来越大,需要定期对AOF文件进行重写,达到压缩
    的目的。
           4、当Redis服务器重启时,可以加载AOF文件进行数据恢复。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值