# redis 配置文件示例
# 当你须要为某个配置项指定内存大小的时候,必需要带上单位,
# 一般的格式就是 1k 5gb 4m 等酱紫:
#
# 1k => 1000 bytes
# 1kb => 1024 bytes
# 1m => 1000000 bytes
# 1mb => 1024*1024 bytes
# 1g => 1000000000 bytes
# 1gb => 1024*1024*1024 bytes
#
# 单位是不区分大小写的,你写 1K 5GB 4M 也行
################################## INCLUDES ###################################
# 假如说你有一个可用于全部的 redis server 的标准配置模板,
# 但针对某些 server 又须要一些个性化的设置,
# 你可使用 include 来包含一些其余的配置文件,这对你来讲是很是有用的。
#
# 可是要注意哦,include 是不能被 config rewrite 命令改写的
# 因为 redis 老是以最后的加工线做为一个配置指令值,因此你最好是把 include 放在这个文件的最前面,
# 以免在运行时覆盖配置的改变,相反,你就把它放在后面(外国人真啰嗦)。
#
# include /path/to/local.conf
# include /path/to/other.conf
################################ 经常使用 #####################################
# 默认状况下 redis 不是做为守护进程运行的,若是你想让它在后台运行,你就把它改为 yes。
# 当redis做为守护进程运行的时候,它会写一个 pid 到 /var/run/redis.pid 文件里面。
daemonize no
# 当redis做为守护进程运行的时候,它会把 pid 默认写到 /var/run/redis.pid 文件里面,
# 可是你能够在这里本身制定它的文件位置。
pidfile /var/run/redis.pid
# 监听端口号,默认为 6379,若是你设为 0 ,redis 将不在 socket 上监放任何客户端链接。
port 6379
# TCP 监听的最大容纳数量
#
# 在高并发的环境下,你须要把这个值调高以免客户端链接缓慢的问题。
# Linux 内核会一言不发的把这个值缩小成 /proc/sys/net/core/somaxconn 对应的值,
# 因此你要修改这两个值才能达到你的预期。
tcp-backlog 511
# 默认状况下,redis 在 server 上全部有效的网络接口上监听客户端链接。
# 你若是只想让它在一个网络接口上监听,那你就绑定一个IP或者多个IP。
#
# 示例,多个IP用空格隔开:
#
# bind 192.168.1.100 10.0.0.1
# bind 127.0.0.1
# 指定 unix socket 的路径。
#
# unixsocket /tmp/redis.sock
# unixsocketperm 755
# 指定在一个 client 空闲多少秒以后关闭链接(0 就是无论它)
timeout 0
# tcp 心跳包。
#
# 若是设置为非零,则在与客户端缺少通信的时候使用 SO_KEEPALIVE 发送 tcp acks 给客户端。
# 这个之全部有用,主要由两个缘由:
#
# 1) 防止死的 peers
# 2) Take the connection alive from the point of view of network
# equipment in the middle.
#
# On Linux, the specified value (in seconds) is the period used to send ACKs.
# Note that to close the connection the double of the time is needed.
# On other kernels the period depends on the kernel configuration.
#
# A reasonable value for this option is 60 seconds.
# 推荐一个合理的值就是60秒
tcp-keepalive 0
# 定义日志级别。
# 能够是下面的这些值:
# debug (适用于开发或测试阶段)
# verbose (many rarely useful info, but not a mess like the debug level)
# notice (适用于生产环境)
# warning (仅仅一些重要的消息被记录)
loglevel notice
# 指定日志文件的位置
logfile ""
# 要想把日志记录到系统日志,就把它改为 yes,
# 也能够可选择性的更新其余的syslog 参数以达到你的要求
# syslog-enabled no
# 设置 syslog 的 identity。
# syslog-ident redis
# 设置 syslog 的 facility,必须是 USER 或者是 LOCAL0-LOCAL7 之间的值。
# syslog-facility local0
# 设置数据库的数目。
# 默认数据库是 DB 0,你能够在每一个链接上使用 select <dbid> 命令选择一个不一样的数据库,
# 可是 dbid 必须是一个介于 0 到 databasees - 1 之间的值
databases 16
################################ 快照 ################################
#
# 存 DB 到磁盘:
#
# 格式:save <间隔时间(秒)> <写入次数>
#
# 根据给定的时间间隔和写入次数将数据保存到磁盘
#
# 下面的例子的意思是:
# 900 秒内若是至少有 1 个 key 的值变化,则保存
# 300 秒内若是至少有 10 个 key 的值变化,则保存
# 60 秒内若是至少有 10000 个 key 的值变化,则保存
#
# 注意:你能够注释掉全部的 save 行来停用保存功能。
# 也能够直接一个空字符串来实现停用:
# save ""
save 900 1
save 300 10
save 60 10000
# 默认状况下,若是 redis 最后一次的后台保存失败,redis 将中止接受写操做,
# 这样以一种强硬的方式让用户知道数据不能正确的持久化到磁盘,
# 不然就会没人注意到灾难的发生。
#
# 若是后台保存进程从新启动工做了,redis 也将自动的容许写操做。
#
# 然而你要是安装了靠谱的监控,你可能不但愿 redis 这样作,那你就改为 no 好了。
stop-writes-on-bgsave-error yes
# 是否在 dump .rdb 数据库的时候使用 LZF 压缩字符串
# 默认都设为 yes
# 若是你但愿保存子进程节省点 cpu ,你就设置它为 no ,
# 不过这个数据集可能就会比较大
rdbcompression yes
# 是否校验rdb文件
rdbchecksum yes
# 设置 dump 的文件位置
dbfilename dump.rdb
# 工做目录
# 例如上面的 dbfilename 只指定了文件名,
# 可是它会写入到这个目录下。这个配置项必定是个目录,而不能是文件名。
dir ./redis