NoSQL----Redis 持久化操作

持久化操作

Redis比memcache好的地方是自己可以进行持久化操作,随时把内存的redis数据保存在硬盘里边,服务器断电或重新启动后又会把硬盘的数据给恢复到内存里边

(方式1 RDB)snapshotting 快照方式, 机制

默认保存到文件名为dummp.rdb中,二进制文件
把redis在内存的全部数据获得到,以文件形式存储在硬盘里边。有具体触发机制,实现数据的存储

save 900 1        # 900移有1个 key 被改变备份一次
save 300 10       # 300秒有10个 key 被改变备份一次
save 60 1000      # 30秒有1000个 key 被改变备份一次

他们的关系是或
可以手动save, 即可生成 dump.rdb 文件

备份文件和存储路径(redis.conf)

dbfilename dump.rdb
dir ./
(方式2 AOF)append_only_file 增量追加备份方式。记录每一次写操作

缩写aof #通过 write 函数追加到文件中appendonly.aof (可看,存的为操作)
首先通过快照方式做一个大的备份文件,然后把每个命令都通过aof方式把以后执行的每个命令都给保存起来。
这样我们有两个备份文件:大的备份文件 和 具体命令备份文件
数据还原也是先还原大的备份文件,在把命令文件里边的具体指令给执行一遍

优点
  • 大的备份文件不可能每天都备份(时间损耗太多)
  • 快照方式备份的密度不够,导致会有数据丢失情况发生,aof方式备份的密度高,可以达到每秒就备份一
启用
开启aof方式备份
appendonly yes

保存命令的文件
appendfilename appendonly.aof
机制
appendfsync always          #执行的每条指令都备份
appendfsync everysec        #每秒备份一次(折中推荐)
appendfsync no              #是否备份取决于当前系统空闲情况,完全依赖 os,性能最好,持久化没保证
持久化指令
save                        #同步保存数据到磁盘
bgsave                      #异步保存数据到磁盘
lastsave                    #返回上次成功保存到磁盘的unix时间戳
shutdown                    #同步保存到服务器并关闭redis服务器
bgrewriteaof                #当日志文件过长时重写日志文件
./redis-cli bgrewriteaof    #appendonly.aof文件进行优化
./redis-cli -h 127.0.0.1 -p 6379 bgsave   #手动发起快照,可以远程操作
虚拟内存

把不经常使用的文件写入文件。 配置

vm-enabled yes                  #默认no ,开启vm
vm-swap-file /tmp/redis.swap    #交换出来的value 保存的文件路径
vm-max-memory 100000            #redis 使用的最大内存上限
vm-page-size 32                 #每个页面的大小32 字节
vm-pages 134217728              #最多使用多少页面
vm-max-threads 4                #用于执行value 对象换入的工作线程数量

//修改完重启服务器会提示是否要启用vm 的一条命令,cp到redis.conf 文件中即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值