Redis配置文件redis.conf配置详解

1. redis.conf中units

2. redis.conf中配置包含其他配置文件

如果需要配置Redis.conf中引入其他配置文件,需要在redos.conf配置文件中的INCLUDES中配置

3. 网络NETWORK的相关配置

说明:

bing 127.0.0.1:绑定的ip,在保护模式开启的情况下,只有绑定的ip才可以访问redis服务

protected-mode yes:保护模式

  • no:保护模式关闭,外网可以直接访问redis,不安全
  • yes:保护模式开启,访问redis服务需要通过bind绑定的IP进行访问或者通过设置的密码[requirepass xxxx]进行访问

port:redis服务端口号,默认是6379,如果需要修改redis的访问端口,就通过修改该值实现

# 绑定的IP
bind 127.0.0.1
# 保护模式 no:关闭 外网可以直接访问redis yes:开启保护模式,开启的情况下,只能通过绑定的ip[bind 127.0.0.1]或者密码验证访问
protected-mode yes
# 启动的端口号
port 6379

4. 通用配置GENERAL

daemonize no:设置redis的运行方式

  • no:客户端运行,客户端关闭redis服务也停止
  • yes:以守护进程的方式运行,即后台运行,客户端关闭redis服务也在运行
################################# GENERAL #####################################
# 设置运行方式 默认值:no,需要改为yes,以守护进程的方式运行
daemonize no
# 管理守护进程的,这个默认是no,一般不用动
supervised no
# 配置文件的pid文件,如果以后台方式运行,就需要指定一个pid文件
pidfile /var/run/redis_6379.pid
# 日志级别设置
# Specify the server verbosity level.
# This can be one of:
# debug (a lot of information, useful for development/testing) 适用于开发环境或测试环境
# verbose (many rarely useful info, but not a mess like the debug level)
# notice (moderately verbose, what you want in production probably) 适用于生产环境
# warning (only very important / critical messages are logged)
loglevel notice
# 日志文件位置名
logfile ""
# redis数据库个数
databases 16
# 是否总是显示redis的LOGO,启动时看到的redis的LOGO就是这里配置的,yes:显示 no:不显示
always-show-logo yes

5. 快照SNAPSHOTTING的相关配置

快照是用于持久化的,因为redis是内存数据库,如果不进行持久化处理,万一部署的服务器断电,那么所有的redis数据都会丢失。快照配置一般不需要改动,可能会涉及需要改动的是执行持久化的策略save配置,如果默认配置不满足现有需求,则可以在原来的基础上或者直接配置自己的持久化策略,save 间隔时间 修改量。例如:

save 10 1:表示在10s内如果至少有1个key进行了修改,就会触发持久化操作

################################ SNAPSHOTTING  ################################

# 持久化保存策略配置
# 在900s内,如果至少有1个key进行了修改,就进行持久化操作
save 900 1
# 在300s内,如果至少有10个key进行了修改,就进行持久化操作
save 300 10
# 在60s内,如果至少有10000个key进行了修改,就进行持久化操作
save 60 10000
# 配置如果持久化出错,是否还需要继续工作 yes:还需要继续工作
stop-writes-on-bgsave-error yes
# 配置是否压缩rdb文件。[开启(yes)的话,会消耗一定的cpu资源]
rdbcompression yes
# 保存rdb文件的时候,进行错误的检查校验
rdbchecksum yes
# 默认持久化保存后的文件名
dbfilename dump.rdb
# rdb文件保存的目录
dir ./

6. 安全配置SECURITY

requirepass:用于配置访问密码,设置方式,放开配置,将foobared换成需要配置的密码值

################################## SECURITY ###################################

# 设置访问、登录的密码,设置requirepass 您的密码
requirepass foobared

7. 客户端CLIENTS的配置

maxmemory-policy:redis到达最大容量之后的处理策略

  •  volatile -lru:只对设置了过期时间的key进行LRU(默认值)
  • allkeys-lru:删除lru算法的key
  • volatile-random:随机删除即将过期的key
  • allkeys-random:随机删除
  • volatile-ttl:删除即将过期的
  • noeviction:永不过期,返回错误
################################### CLIENTS ####################################

# 设置客户端最大连接数,该配置一般无需修改,使用默认值即可
# maxclients 10000

############################## MEMORY MANAGEMENT ################################

# redis配置的最大内存容量
# maxmemory <bytes>

# 到达内存容量限制之后的处理策略
# maxmemory-policy noeviction

8. 持久化策略AOF配置

############################## APPEND ONLY MODE ###############################


# 是否开启aof持久化模式,默认值:no,不开启。redis的默认持久化策略是edb模式
appendonly no

# 持久化文件名称
appendfilename "appendonly.aof"

# 持久化策略设置
# appendfsync always # 每次修改都进行持久化操作
appendfsync everysec # 每秒执行一次持久化操作
# appendfsync no     # 不执行持久化操作,相当于未开启aof持久化策略

# 设置为yes表示rewrite期间对新写操作不fsync,暂时存在内存中,等rewrite完成后再写入,默认为no,建议yes
no-appendfsync-on-rewrite no

# AOF自动重写配置,默认值为100
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

# Redis在以AOF方式恢复数据时,对最后一条可能出问题的指令的处理方式,默认值yes
aof-load-truncated yes

# 当重写AOF文件时,Redis能够在AOF文件中使用RDB前导码,以便更快地重写和恢复,启用此选项时,重写的AOF文件由两个不同的节组成:[RDB file][AOF tail],当加载AOF文件时,Redis通过以 “REDIS” 字符串开头的AOF文件识别出此文件是由RDB和AOF组合而成的,Redis会先加载RDB部分,然后再加载AOF部分,默认值yes
aof-use-rdb-preamble yes

以上配置说明中,没有涉及集群的相关配置说明。集群的配置后续学习到再加上


版权声明:本文为cssweb_sh原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。