Redis进阶

文章目录

书接上文,我们学习了redis的基础运用和常用命令,那我们就来了解redis的两大核心持久化机制RDB和AOF,以及数据恢复与备份。


一、Redis的持久化概念

1:Redis持久化

因为Redis数据基于内存读写,为了防止Redis服务器关闭或者宕机造成数据丢失,我们通常需要对Redis做持久化化,即:把内从中的数据(命令)保存一份到磁盘做一个备份,当Redis服务关闭或者宕机,在Redis服务器重启的时候会从磁盘重新加载备份的数据,不至于数据丢失。 Redis 提供了两种不同级别的持久化方式:RDB和AOF,可以通过修改redis.conf来进行配置.

开启持久配置后,对Redis进行写操作,在Redis安装目录将会看到持久文件:“appendonly.aof”和“ dump.rdb”。

redis为了考虑效率,保存数据在内容中.并且考虑数据安全性,还做数据持久化,如果满足保存策略,就会把内存的数据保存到数据rdb文件,还来不及保存那部分数据存放到aof更新日志中。在加载时,把两个数据做一个并集。

Redis持久化原理图:

二、Redis持久配置

上书我们学习过Redis的目录结构,我们只用找到redis.windows.conf 的配置文件

AOF 持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集,默认关闭该模式。

按住Ctrl + F快速定位搜索:appendonly定位到相关内容,将no改为yes,appendfsync默认不改。

# appendfsync always  #每次有新命令时就执行一次fsync 

appendfsync everysec  #每秒 fsync 一次 ,这里我们启用 everysec

# appendfsync no      #从不fsync(交给操作系统来处理,可能很久才执行一次fsync)

RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照,默认开启该模式

save ""
save 900 1        #至少在900秒的时间段内至少有一次改变存储同步一次
save 300 10           
# save 60 10000

三、RDB和AOP区别

RDB:记录数据快照
 
   优点:  
       1.产生一个持久化文件,方便文件备份 , 恢复RDB是非常不错的选择
       2.Fork子进程去持久化, 性能比AOF好,文件体积更小,启动时恢复速度快


   缺点:
      1.没办法100%s数据不丢失
      2.数据集大,FORk子进程持久化时会服务器卡顿


AOF: 记录写命令


   优点:  
     1.数据更安全
     2.采用Append,即使持久的时候宕机,也不影响已经持久的数据
     3.日志过大,可以rewrite重写
     4.AOF日志格式清晰,容易理解

    缺点:
      1.AOF文件通常要大于RDB文件
      2.AOF数据恢复比RDB慢
 

最佳实践:二者结合 ,RDB来数据备份,迁移,容灾  。 AOF持久化保证数据不丢失。

四、数据备份与恢复

虽然配置了持久化Redis会进行自动数据备份,我们也可以通过SAVE 或者 BGSAVE (后台备份)命令创建当前数据库的备份

数据备份执行:save    #该命令将在 redis 安装目录中创建dump.rdb文件。

恢复数据:将dump.rdb) 移动到 redis 安装目录并启动服务即可。

五、快速启动小技巧

redis的安装目录新建txt文件,将我们的redis的启动脚本写入,改变文件后缀名为bat,发送快捷方式到桌面就可以,一键启动了。txt文件内容:redis-server.exe redis.windows.conf 关于bat脚本命令,大家可以自行学习。


总结

以上就是今天要讲的内容,对接上书做一个新的扩展,后面将会从项目上细讲Redis的运用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有头发的Java程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值