Redis.conf 详解

我们启动 Redis,一般都是通过 Redis.conf 启动。

因此,我们必须了解 Redis.conf 的配置,才能更好理解和使用 Redis。

单位

单位注意事项:当需要内存大小时,可以指定为1k 5GB 4M等

通常形式:

  • 1k => 1000字节
  • 1kb => 1024 字节
  • 1m => 1000000字节
  • 1mb => 1024*1024字节
  • 1g => 1000000000字节
  • 1gb => 1024*1024*1024字节

单位是不区分大小写的,所以1GB 1Gb 1gB都是一样的。

Redis.conf 详解_第1张图片

包括 INCLUDES

包括 在这里包含一个或多个其他配置文件。

这是有用的,如果你有一个标准的模板,去所有的Redis服务器,但也需要自定义一些每个服务器的设置。include文件可以包含其他文件,所以要明智地使用它。

注意选项“include”不会被admin或Redis Sentinel的命令“CONFIG REWRITE”重写。因为 Redis 总是使用最后处理的行作为配置指令的值,你最好把include放在这个文件的开头,以避免在运行时覆盖配置更改。如果您对使用 include 来覆盖配置选项感兴趣,那么最好将 include 作为最后一行。

Redis.conf 详解_第2张图片

 网络 NETWORK

bind 0.0.0.0 # IP(默认127.0.0.1)
protected-mode yes # 保护模式(默认yes)
port 6379 # 端口设置(默认6379)

通用 GENERAL

daemonize yes # 以守护进程方式运行,即后台运行(默认no)
pidfile /var/run/redis_6379.pid # 如果以后台运行,必须指定一个pid文件
# 日志
# Specify the server verbosity level.
# This can be one of:
# debug (大量信息, 使用于测试或开发阶段)
# verbose (许多很少有用的信息,但不像调试级别那样混乱)
# notice (比较冗长,你可能想在生产环境中使用)
# warning (只有非常重要/关键的消息被记录下来)
loglevel notice  # 默认notice
logfile "" # 日志的文件位置名

databases 16 # 数据库的数量(默认16)

always-show-logo yes # 是否开启启动 logo (默认yes)

快照 SNAPSHOTTING - RDB

快照 是一种持久化的方式。在规定时间内,执行了多少次操作,内存中所有数据会被遍历并持久化到文件(.rdb)

详细了解

http://t.csdn.cn/hczfW

save 900 1 # 900秒内(15分钟),如果至少有1个Key进行修改,我们就进行持久化操作
save 300 10 # 300秒内(5分钟),如果至少有10个Key进行修改,我们就进行持久化操作
save 60 10000 # 60秒内(1分钟),如果至少有10000个Key进行修改,我们就进行持久化操作

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

rdbcompression yes # 是否压缩rdb文件(默认yes),会消耗一些CPU资源

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

dbfilename dump.rdb # rdb文件名(默认dump.rdb,建议跟上端口以用于集群启动)

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

 主从复制 REPLICATION

一般不使用配置文件去配置主从复制关系,因为使用配置文件有以下缺点:

  1. 配置文件容易出错:手动修改配置文件容易出现疏漏或者错误,导致主从复制无法正常工作。

  2. 不易维护:当主节点发生故障或者配置变更时,需要手动修改从节点的配置文件,不利于维护和管理。

  3. 不够灵活:如果需要进行主从复制的切换或者扩容,需要手动修改多个从节点的配置文件,工作量较大。

一般使用命令行来配置主从关系,具有配置简单、易于维护和更加灵活等优点。
采用哨兵模式自动化。

安全 SECURITY

requirepass 你的密码 # 设置密码(默认被注释着需要自己解开注释)

 

客户端限制 LIMITS

# maxclients 10000 # 限制最多10000个客户端访问(默认注释)

内存管理 LIMITS

详细了解内存管理(定期删除、惰性删除和内存淘汰机制)

http://t.csdn.cn/V8Q1H

# maxmemory  # 最大内存设置(默认注释),不带单位默认byte,可以替换成mb等

# maxmemory-policy noeviction # 内存达到上限之后的处理策略(默认noeviction)
    # volatile-lru,针对设置了过期时间的key,使用lru算法进行淘汰。
    # allkeys-lru,针对所有key使用lru算法进行淘汰。
    # volatile-lfu,针对设置了过期时间的key,使用lfu算法进行淘汰。
    # allkeys-lfu,针对所有key使用lfu算法进行淘汰。
    # volatile-random,从所有设置了过期时间的key中使用随机淘汰的方式进行淘汰。
    # allkeys-random,针对所有的key使用随机淘汰机制进行淘汰。
    # volatile-ttl,针对设置了过期时间的key,越早过期的越先被淘汰。
    # noeviction,不会淘汰任何数据,当使用的内存空间超过 maxmemory 值时,再有写请求来时返回错误。

 AOF配置 APPEND ONLY MODE

AOF 是一种 追加 形式的持久化方式。将更新的操作记录用追加的方式记录下来。

appendonly no # 默认是不开启aof的,默认使用rdb方式持久化

appendfilename "appendonly.aof" # 持久化的文件名
# appendfsync always # 每次修改都会同步,销耗性能
appendfsync everysec # 每秒执行一次同步,可能会丢失这 1 秒的数据(默认)
# appendfsync no # 不同步,操作系统自己同步数据,速度最快

你可能感兴趣的:(Redis,redis,缓存,数据库)