以下为常用的配置信息:
######################## 常用 ########################
bind 127.0.0.1
# 表示哪些IP可以连接服务器,多个服务器用逗号隔开,默认注释,为所有服务器
daemonize no
# 是否后台启动服务器
# 当后台启动时,会写一个pid到redis,pid文件中
pidfile /var/run/redis.pid
# 当后台启动,pid写入的文件位置
prot 6379
# 端口号,默认是6379,
requirepass abc123
# 设置认证密码
tcp-backlog 511
# TCP 监听的最大容纳数量
timeout 0
# 指定在一个 client 空闲多少秒之后关闭连接(0 就是不关闭)
tcp-keepalive 60
# tcp 心跳包 ,意思是当多少秒没有信息通讯时,服务端会发送给客户端确保连接正常,防止死的连接。
loglevel notice
# 定义日志级别。
# 可以是下面的这些值:
# debug (适用于开发或测试阶段)
# verbose (介意debug和notice之间,比较少用)
# notice (适用于生产环境)
# warning (仅仅一些重要的消息被记录)
logfile "/data/redis/logs/redis.log"
# 制定日志文件的位置
databases 16
# 设置数据库的数目
######################## 快照 ########################
save 900 1
save 300 10
save 60 10000
# 根据给定的时间间隔和写入次数将数据保存到磁盘
# 900 秒内如果至少有 1 个 key 的值变化,则保存
# 300 秒内如果至少有 10 个 key 的值变化,则保存
# 60 秒内如果至少有 10000 个 key 的值变化,则保存
stop-writes-on-bgsave-error yes
# 默认情况下,如果 redis 最后一次的后台保存失败,redis 将停止接受写操作
# 如果你已经有监控,则可以改为no
rdbcompression yes
# 是否在 dump .rdb 数据库的时候使用 LZF 压缩字符串
rdbchecksum yes
# 是否校验rdb文件
dbfilename dump.rdb
# 设置 dump 的文件位置
dir ./
# 工作目录,当位置信息只写了文件名时,会保存到此目录下
######################## 主从复制 ########################
slave-serve-stale-data yes
# 当一个 slave 与 master 失去联系,或者复制正在进行的时候,
# slave 可能会有两种表现:
# 1) 如果为 yes ,slave 仍然会应答客户端请求,但返回的数据可能是过时,
# 或者数据可能是空的在第一次同步的时候
# 2) 如果为 no ,在你执行除了 info he salveof 之外的其他命令时,
# slave 都将返回一个 "SYNC with master in progress" 的错误,
#
slave-read-only yes
# 配置一个 slave 实体是否接受写入操作,默认 slaves 都是只读的。
repl-diskless-sync no
# 主从数据复制是否使用无硬盘复制功能。
repl-diskless-sync-delay 5
# 当启用无硬盘备份,服务器等待一段时间后才会通过套接字向从站传送RDB文件
repl-ping-slave-period 10
# 从redis会周期性的向主redis发出PING包,你可以通过repl_ping_slave_period指令来控制其周期,默认是10秒。
slave-priority 100
# 当 master 不能正常工作的时候,Redis Sentinel 会从 slaves 中选出一个新的 master,
# 这个值越小,就越会被优先选中,但是如果是 0 , 那是意味着这个 slave 不可能被选中。
######################## 限制 ########################
maxclients 10000
# 一旦达到最大限制,redis 将关闭所有的新连接
maxmemory
# 最大使用内存
# 如果设置了这个值,当缓存的数据容量达到这个值, redis 将根据你选择的 eviction 策略来移除一些 keys。
maxmemory-policy noeviction
# 最大内存策略,你有以下选择:
# volatile-lru ->只从设置失效(expire set)的key中选择最近最不经常使用的key进行删除
# allkeys-lru -> 优先删除掉最近最不经常使用的key,用以保存新数据
# volatile-random -> 只从设置失效(expire set)的key中,选择一些key进行删除
# allkeys-random -> 随机从all-keys中选择一些key进行删除
# volatile-ttl -> 只从设置失效(expire set)的key中,选出存活时间(TTL)最短的key进行删除,用以保存新数据
# noeviction -> 不进行置换,表示即使内存达到上限也不进行置换,所有能引起内存增加的命令都会返回error
appendonly no
# 默认redis使用的是rdb方式持久化,这种方式在许多应用中已经足够用了。但是redis如果中途宕机,
# 会导致可能有几分钟的数据丢失,根据save来策略进行持久化,Append Only File是另一种持久化方式,
# 可以提供更好的持久化特性。Redis会把每次写入的数据在接收后都写入appendonly.aof文件,
# 每次启动时Redis都会先把这个文件的数据读入内存里,先忽略RDB文件。
appendfilename "appendonly.aof"
# aof文件名
appendfsync always
appendfsync everysec
appendfsync no
# aof持久化策略的配置
# no表示不执行fsync,由操作系统保证数据同步到磁盘,速度最快。
# always表示每次写入都执行fsync,以保证数据同步到磁盘。
# everysec表示每秒执行一次fsync,可能会导致丢失这1s数据
auto-aof-rewrite-percentage 100
# aof自动重写配置,当目前aof文件大小超过上一次重写的aof文件大小的百分之多少进行重写
auto-aof-rewrite-min-size 64mb
# 设置允许重写的最小aof文件大小,避免了达到约定百分比但尺寸仍然很小的情况还要重写
更多配置