redis.conf 详解

28 阅读2分钟

单位

配置文件 unit 单位对大小写不敏感

包含(INCLUDES)

把红框中的配置文件导入进来

网络(NETWORK)

bind 127.0.0.1                      # 绑定的ip   (远程注释)
protected-mode yes             # 保护模式  (远程 no)
port 6379                              # 端口设置

通用(GENERAL)

daemonize yes                                                  # 以守护进程的方式运行,默认是no,我们需要自己开启为yes

pidfile /var/run/redis_6379.pid                           # 如果以后台的方式运行,我们就需要指定一个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 ""                                                              # 日志的文件位置名

databases 16                                                     # 数据库的数量,默认是16个

always-show-logo yes                                       # 是否总是显示logo

快照(SNAPSHOTTING)

  • 持久化,在规定的时间内,执行了多少次操作,则会持久化到文件 .rdb  .aof
  • Redis是内存数据库。如果没有持久化,那么数据会断电缺失

save 900 1                                       # 如果900s内,至少有1个key进行了修改,我们就进行持久化操作
save 300 10                                     # 如果300s内,至少有10个key进行了修改,我们就进行持久化操作
save 60 10000                                 # 如果  60s内,至少有10000个key进行了修改,我们就进行持久化操作

stop-writes-on-bgsave-error yes      # 持久化如果出错,是否还要继续工作

rdbcompression yes                         # 是否压缩rdb文件,需要消耗一些cpu资源

rdbchecksum yes                             # 保存rdb文件的时候,进行错误的检查校验

dir ./                                                  # rdb文件保存的目录(默认当前目录)

复制(REPLICATION)

主从复制:blog.csdn.net/qq_42490050…

安全(SECURITY)

requirepass ******                                        # 设置密码为 ******

命令可以设置redis的密码,默认是没有密码的

config get requirepass             # 获取redis的密码
config set requirepass password    # 设置redis的密码
auth password                      # 使用密码进行登录

限制(CLIENTS)

maxclients 10000                          # 设置能连接上redis的最大客户端数量
maxmemory <bytes>                    # redis配置最大的内存容量
maxmemory-policy noeviction      # 内存达到上限之后的处理策略

maxmemory-policy 六种方式

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

APPEND ONLY MODE AOF配置

appendonly no                                         # 默认是不开启aof模式的,默认是使用rdb方式持久化的,在大部分的情况下,rdb完全够用

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

# appendfsync always                             # 每次修改都会sync,消耗性能
appendfsync everysec                             # 每秒执行一次sync,可能会丢失中这1s的数据
# appendfsync no                                    # 不执行sync,这个时候操作系统自动同步数据,速度最快