Redis.conf详解

发布时间 2023-05-29 01:35:40作者: StormArcita

我们启动的时候就是通过Redis.conf启动的

网络Network

  • bind 127.0.0.1 #绑定的ip

  • protected-mode yes #安全模式开启

  • port 6379 #端口设置

通用GENERAL

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

守护进程是什么:守护进程是一种长期运行的进程,这种进程在后台运行并且不根任何控制终端关联

  • supervised no #用于管理守护进程

  • pidfile /var/run/redis_6379.pid #如果以后台方式运行,我们就需要指定一个pid文件

  • loglevel notice #日志,有很多种级别:

# Specify the server verbosity level.
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)
  • logfile "" #日志的文件名

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

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

快照SNAPSHOTTING

用于持久化,在规定的时间内执行了多少次操作,则会持久到文件.rdb .aof

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

    redis是内存数据库,如果没有持久化,那么数据断电及失!

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

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

  • rdbchecksum yes #保存rdb文件的时候是否校验rdb文件

  • dbfilename dump.rdb #决定了生成的 RDB 文件名称,默认配置为 dump.rdb

  • dir ./ #rdb文件保存的目录

复制REPLICATION 后面讲

安全SECURITY

  • requirepass 123456 #设置密码为123456

可以直接在控制台config get requirepass获取密码

config set requirepass "123456" 设置密码为123456

限制LIMITS

  • maxclients 10000 #限制连接的最大客户端数量

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

  • volatile-lru #内存到达上限后的处理策略

    -noeviction: 不删除策略, 达到最大内存限制时, 如果需要更多内存, 直接返回错误信息。(默认值) -allkeys-lru: 所有key通用; 优先删除最近最少使用(less recently used ,LRU) 的 key。 -volatile-lru: 只限于设置了 expire 的部分; 优先删除最近最少使用(less recently used ,LRU) 的 key。 -allkeys-random: 所有key通用; 随机删除一部分 key。 -volatile-random: 只限于设置了 expire 的部分; 随机删除一部分 key。 -volatile-ttl: 只限于设置了 expire 的部分; 优先删除剩余时间(time to live,TTL) 短的key。

AOF配置APPEND ONLY MODE

  • appendonly no #默认不开启aop模式的,默认使用rdb进行持久化的

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

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