title: 【学习之路】Redis配置文件
draft: true
tags:
- 学习之路
- Redis
categories: - 中间件
- Redis
cover: https://cdn.jsdelivr.net/gh/codezixuan/Blog_Images/Redis配置文件/t01498e7493bd6b72a3.jpg
description: Redis配置文件大部分使用方法注释
abbrlink: 1c17dc8
date: 2021-03-12 09:06:50
Redis配置文件位置
- redis配置文件所在位置redis安装目录下的redis.conf
Units
- 配置大小单位,开头定义了一些基本的度量单位,只支持bytes,不支持bit
- 通过units are case insensitive so 1GB 1Gb 1gB are all the same.可知单位不区分大小写
INCLUDES
- 可以通过includes包含,redis.conf作为总闸,包含其他配置文件
MODULES
通过loadmodule可以引入自定义模块来新增一些功能
NETWORK
- bind:绑定redis服务器网卡ip默认为127.0.0.1
- port:指定redis运行端口默认为6379
- timeout:设置客户端连接超时时间,单位秒
- tcp-keepalive:周期性检测客户端是否健康
GENERAL
- daemonize 设置为yes让redis在后台运行
- pidfile:配置PID文件路径
logleveel:设置日志级别,默认为notice一共有4个值
- debug
- verbose
- notice
- warning
- logfile:配置log文件地址
- databases:设置数据库数量默认为16个
SNAPSHOTTING
save:用来配置出发Redis的持久化条件
- save 900 1 表示900秒内如果有一个key值变化就保存
- save 300 10 表示300秒内如果有10个key值变化就保存
- save 60 10000 表示60秒内如果有一万个key值变化就保存
- stop-writes-on-bgsave-error:默认值为yes 设置为no表示不在乎数据一致性
- rdbcompression:对于磁盘中的快照,设置是否进行压缩储存,如果是的话Redis会使用LZF算法进行压缩,如果不想损耗CPU性能,可以关闭这个功能
- rdbchecksum:默认值为yes,在储存快照后让redis使用CRC64算法进行数据校验,此选项会有10%性能损耗
- dbfilename:设置快照文件名,默认为:dump.rdb
- dir:设置快照文件的存放路径
APPEND ONLY MODE
- appendonly:是否打开AOF
- appendfilename:AOF配置文件名称
Appendfsync
- Always:同步持久化 每次发生数据变更会被立即记录到磁盘 性能较差但数据完整性比较好
- Everysec:出厂默认推荐,异步操作,每秒记录 如果一秒内宕机,有数据丢失
- NO关闭
- No-appendfsync-on-rewrite:重写时是否可以运用Appendfsync,用默认no即可,保证数据安全性
- Auto-aof-rewrite-min-size:设置重写的基准值
- Auto-aof-rewrite-percentage:设置重写的基准值
REPLICATION
slave-serve-stale-data:默认值为yes,当一个slave与master失去联系时会有两种状态
- 如果为yes,slave任然会应答客户端请求,但返回的数据可能时过时的
- 如果为no,在你执行除了 info he salveof 之外的其他命令时,slave 都将返回一个 “SYNC with master in progress” 的错误
- slave-read-only:配置Redis是否只读Redis
- repl-diskless-sync:默认为no,从主数据赋值是否只使用无硬盘功能
- repl-diskless-sync-delay:当启用无硬盘备份,服务器等待一段时间后才会通过套接字向从站传送RDB文件
- repl-disable-tcp-nodelay:同步之后是否禁用从站上的TCP_NODELAY 如果你选择yes,redis会使用较少量的TCP包和带宽向从站发送数据。但这会导致在从站增加一点数据的延时。
SECURITY
- rename-command:命令重命名
- requirepass:设置redis连接密码
CLIENTS
maxclients :设置客户端最大并发连接数,默认无限制
MEMORY MANAGEMENT
- maxmemory:设置Redis的最大内存,如果设置为0 。表示不作限制
maxmemory-policy :当内存使用达到maxmemory设置的最大值时,redis使用的内存清除策略。
- volatile-lru 利用LRU算法移除设置过过期时间的key (LRU:最近使用 Least Recently Used )
- allkeys-lru 利用LRU算法移除任何key
- volatile-random 移除设置过过期时间的随机key
- allkeys-random 移除随机ke
- volatile-ttl 移除即将过期的key(minor TTL)
- noeviction noeviction 不移除任何key,只是返回一个写错误 ,默认选项
- maxmemory-samples :LRU 和 minimal TTL 算法都不是精准的算法,但是相对精确的算法
LUA SCRIPTING
lua-time-limit:一个lua脚本执行的最大时间,单位为ms。默认值为5000.