redis启动与持久化

本文详细介绍了Redis的启动步骤,包括配置文件的设置、启动脚本的修改以及数据持久化的配置。针对RDB持久化,讲解了save指令的含义和快照触发条件。对于AOF持久化,说明了如何开启、AOF文件的fsync策略以及其在数据恢复中的优先级。此外,还提到了AOF破损文件的修复方法,即使用redis-check-aof --fix命令。
摘要由CSDN通过智能技术生成

redis启动

  1. redis utils目录下,有个redis_init_script脚本
  2. 将redis_init_script脚本拷贝到linux的/etc/init.d目录中,将redis_init_script重命名为redis_6379,6379 是redis监听的端口号
  3. 修改redis_6379脚本的第6行的REDISPORT,设置为相同的端口号(默认就是6379)
  4. 创建两个目录:/etc/redis(存放redis配置文件),/var/redis/6379(存放redis持久化文件)
  5. 修改redis配置文件(默认在安装的根目录下,redis.conf),拷贝到/etc/redis目录中
  6. 修改redis.conf中的部分配置为生产环境
    需要修改的配置项下:
     daemonize yes   
     pidfile /var/run/redis_6379.pid   
     dir /var/redis/6379
  1. 启动redis,执行cd /etc/init.d,./redis_6379 start
  2. 确认redis是否启动ps -ef | grep 6379
  3. 让redis跟随系统启动是启动,方法如下:
    在redis_6379脚本最上面,加入两行注释:
#chkconfig:   2345 90 10
#description:   Redis is a persistent key-value database

执行 chkconfig redis_6379 on

redis配置RDB持久化

在redis.conf中,也就是/etc/redis/6379.conf中配置持久化,可以配置多个

save 3600 1
save 300 100
save 30 1000

save 60 1000,代表每隔60s,如果有超过1000个key发生了变更,那么就生成一个新的dump.rdb文件,这个操作也被称之为snapshotting,快照也可以手动save或者bgsave命令,同步或异步执行rdb快照生成。

redis配置AOF持久化

AOF持久化,默认是关闭的,也是在6379.conf中配置

appendonly yes #打开AOF持久化,生产环境中一般都要打开

打开AOF持久化机制之后,redis每次接收到一条写命令,就会写入日志文件中,当然是先写入os cache中的,然后每隔一段时间在fsync一下。
而且即使AOF和RDB都开启了,redis重启的时候,也是优先通过AOF进行数据恢复的,因为AOF数据比较完整。

可以配置AOF的fsync策略,有三种策略可以选择,一种是每次写入一条数据就执行依次fsync;一种是每隔一秒执行依次fsync;一种是不主动执行fsync。

appendfsync always 
appendfsync everysec
appendfsync no

appendfsync always:每次写入一条数据,立即将这个数据对应的日志fsync到磁盘上去,性能非常差,吞 吐量很低,需要确保redis里的数据一条都不丢,那就只能这样了。
appendfsync everysec:每秒将内存中的数据fsycn到磁盘,性能很高。
appendfsync no:将数据写入内存中就不管了,然后后面系统自己会时不时有自己的策略将数据刷到磁盘,不可控。

AOF破损文件的修复

如果redis在append数据到AOF文件时,机器宕机了,可能会导致AOD文件破损
用redis-check-aof --fix命令来修复破损的AOF文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值