Redis总结(七)——配置文件详解

前言


Redis的配置文件中配置的属性有很多,具体每个属性都是什么意思,该怎么配置,通过之前的项目实战有了相关的认识。这次主要对Redis的持久化机制——RDB和AOF这两种方式涉及到的一些参数或相关知识做简单总结。配置文件中其他参数解释和以参考这里

RDB


RDB按照规则定时将内存的数据同步到磁盘,产生dump.rdb文件。
以下几种情况会触发RDB:
➢自己配置的快照规则:save <seconds> <changes>
指定在多长时间内,有多少次更新操作,就将数据同步到数据文件。

# 900秒(15分钟)之后,且至少1次变更
# 300秒(5分钟)之后,且至少10次变更
# 60秒之后,且至少10000次变更
save 900 1
save 300 10
save 60 10000

save或者bgasve

save:执行内存的数据同步到磁盘的操作,这个操作会阻塞客户的请求
bgsave:在后台一步执行快照操作,这个操作不会阻塞客户端的请求

➢执行flushall的时候
清楚内存的所有数据,只要快照的规则不为空,也就是save规则存在,那么Redis就会执行快照
➢执行快照的时候
快照的实现原理:
redis会使用fork函数复制一份当前进程的副本(子进程),fork进程负责把内存的数据同步到磁盘的临时文件,父进程继续处理客户端请求
redis(rdb)的优缺点:
1、可能会存在数据丢失的情况(缺点)
2、可以最大化redis的性能(优点)

redis-check-dump:Redis dump 数据文件的修复工具

AOF


AOF会把redis执行的每一条命令追加到磁盘文件中
实战:
修改redeis.conf中的appendonly 为yes,重启后执行对数据的变更命令,会在bin目录下生成对应的.aof文件,aof文件会记录所有的操作命令
appendonly yes
appendfilename "appendonly.aof"

如下两个参数可以去对aof文件做优化:
auto-aof-rewrite-percentage 100
表示当前aof文件大小超过上一次aof文件大小的百分之多少的时候会进行重写。如果之前没有重写过,以启动时aof文件的大小为准。

auto-aof-rewrite-min-size 64mb
限制允许重写最小aof文件大小,也就是文件大小小于64mb的时候,不需要进行优化。
同步磁盘数据:
redis每次更改数据的时候,aof机制都会将命令记录到aof文件,但是实际上由于操作系统的缓存机制,数据并没有实时写入到硬盘,而是进入硬盘缓存。再通过硬盘缓存机制去刷新保存到文件。

# appendfsync always    
#每次执行写入都会进行同步,这个是最安全但是是效率比较低的方式
appendfsync everysec   每一秒执行
# appendfsync no 
#不主动进行同步操作,由操作系统去执行,这个是最快但是最不安全的方式

aof文件损坏以后如何修改:
对于错误格式的AOF文件, 先进行备份, 然后采用redis-check-aof--fix命令进行修复, 修复后使用diff-u对比数据的差异, 找出丢失的数据, 有些可以人工修改补全。

总结


两种持久化策略可以同时使用,也可以使用其中的一种。如果同时使用的话,那么Redis重启时,会优先使用AOF文件来还原数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Redis 是一个开源的、高性能的 NoSQL 数据库,它使用键值对存储数据。它的目录结构和配置文件包括以下几部分: 一、目录结构 1. bin 目录:包含了 Redis 的各个可执行文件,如 redis-server 和 redis-cli。 2. include 目录:包含了 Redis 的头文件。 3. src 目录:包含了 Redis 的源代码。 4. utils 目录:包含 Redis 依赖的一些工具库。 5. redis.conf 文件:Redis配置文件,用来配置 Redis 的各种参数。 二、配置文件详解 Redis配置文件 redis.conf 包含了大量的配置选项,下面是一些常用的配置选项: 1. port:Redis 服务器监听的端口,默认为 6379。 2. bind:绑定的 IP 地址,默认为 127.0.0.1,表示只能本地连接,如果需要远程连接,可以设置为 0.0.0.0。 3. requirepass:设置连接 Redis 服务器需要的密码。 4. maxclients:设置 Redis 服务器最大允许的客户端连接数,默认为 10000。 5. logfile:设置日志文件名,默认为 stdout,表示输出到控制台。 6. databases:设置 Redis 服务器数据库的数量,默认为 16。 7. save:设置 Redis 自动保存数据库的频率,默认为 900 秒(15 分钟)一个时间间隔,以秒为单位。 8. rdbcompression:设置是否对保存到磁盘的数据库进行压缩,默认为 yes。 9. appendonly:设置是否启用 AOF(Append Only File)模式,默认为 no,表示不启用。AOF 模式可以在每次写操作之后生成一个日志文件,保证数据的持久化。 以上只是 Redis 配置文件的部分选项,还有很多其他的选项可供设置。 总结Redis 的目录结构包含了可执行文件、头文件、源代码和工具库等文件,配置文件用来设置 Redis 的各种参数,如监听端口、绑定 IP、密码、最大连接数、日志、数据库等。根据需要,可以修改配置文件的选项来进行个性化的配置。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值