Redis配置文件redis.conf详解
分类:
文章
•
2024-04-02 18:40:43
Linux下的配置文件单独考拷贝出来进行操作,这是一个好习惯!
Units单位:
- 配置大小单位,开头定义了一些基本的度量单位只支持bytes,不支持bit
- 对大小写不敏感
INCLUDES包含:

- 和Struts2配置文件类似,可以通过includes包含,redis.conf可以作为总闸,包含其他
GENERAL通用

- daemonize no:指定redis是否要用守护线程的方式启动
- pidfile /var/run/redis_6379.pid:当Redis以守护进程方式运行时,即使该项没有配置,Redis也会默认把pid写入/var/run/redis.pid文件;而当Redis不是以守护进程凡是运行时,若该项没有配置,则redis不会创建pid文件。创建pid文件是尝试性的动作,即使创建写入失败,redis依然可以启动运行
- port 6379:指定Redis监听端口,默认端口为6379
- bind 127.0.0.1:绑定的主机地址,如果想全部访问不做限制的话,全为0.0.0.0
- timeout 300:当客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能
- loglevel:指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning
- logfile :指定日志名字
- syslog-enabled:是否把日志输出到syslog中
- syslog-ident:指定syslog里的日志标志
- syslog-facility:指定syslog设备,值可以是USER或LOCAL0-LOCAL7
- databases 16:默认安装的redis有16个库
SECURITY安全

访问密码的查看,设置和取消
- config get requirepass:获取redis密码,默认为空
- config set requirepass:为redis设置密码,然后auth pw才能验证
LIMITS限制

- maxclients:最大客户端连接数
- maxmemory:最大内存
- maxmemory policy:缓存过期策略,(volatile-lru,allkeys-lru,volatile-random,allkeys-random,volatile-ttl,noeviction),默认为noevicition永不过期
- maxmemory-samples:设置样本数量,LRU算法和最小TTL算法都并非是精确的算法,而是估算值,所以可以设置样本大小,redis会默认检查这么多个key并选择其中LRU的那个
SNAPSHOTTING快照

- save 秒钟 写操作次数:RDB是整个内存的压缩过的snapshot,Rdb的数据结构,可以配置复合的快照触发条件。默认:1分钟内改1万次,或5分钟内改10次,或15分钟内改1次
- 如果想禁用RDB持久化的策略,只要不设置任何save指令,或给save传入一个空字符串参数也可以
- stop-writes-on-bgsave-error:如果配置成no,表示你不在乎数据不一致或者有其他的手段发现和控制
- rdbcompression:对于存储到磁盘中的快照,可以设置是否可以进行压缩存储,如果是,redis会采用LZF算法进行压缩,如果不想消耗CPU来进行压缩的话,可以设置关闭此功能
- rbdchecknum:在存储快照后,还可以让redis使用CRC64算法来进行数据校验,但是这样做会增加大约10%的性能消耗
- dbfilename:设置dump的文件位置
Append Only File(AOF)

- appendonly yes:开启AOP模式,要手动开启
- appendfilename :保存数据的AOF文件名
- Appendfsync:Always,同步持久化,每次发生数据变更会被立即记录到磁盘,性能较差但数据完整性比较好;Everysec,出厂默认推荐,异步操作,每秒记录,如果一秒内宕机,有数据丢失;No,则write后不会有fsync调用,由操作系统自动调度刷磁盘,性能是最好的
- No-appendfsync-on-rewrite:重写时是否可以运用Appendfsync,用默认no即可,保证数据安全性
- Auto-aof-rewrite-min-size:设置重写的基准值
- Auto-aof-rewrite-percentage:设置重写的基准值