redis.conf文件为配置文件
单位
# it in the usual form of 1k 5GB 4M and so forth:
#
# 1k => 1000 bytes
# 1kb => 1024 bytes
# 1m => 1000000 bytes
# 1mb => 1024*1024 bytes
# 1g => 1000000000 bytes
# 1gb => 1024*1024*1024 bytes
#
# units are case insensitive so 1GB 1Gb 1gB are all the same.
1.配置大小单位,开头定义了一些基本的度量单位,只支持bytes,不支持bit;
2.对大小写不敏感;
配置项
daemonize no
默认情况下 redis 不是作为守护进程运行的,如果你想让它在后台运行,你就把它改成 yes。当redis作为守护进程运行的时候,它会写一个 pid 到 /var/run/redis.pid 文件里面。
pidfile /var/run/redis.pid
当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定。
port 6379
指定Redis监听端口,默认端口为6379;
tcp-backlog 511
设置tpc的backlog,backlog是一个连接队列,即TCP监听的最大容纳数量,backlog总和=未完成三次握手队列+已完成三次握手队列。
在高并发的环境下,你需要把这个值调高以避免客户端连接缓慢的问题。Linux 内核会把这个值缩小成 /proc/sys/net/core/somaxconn对应的值,要提升并发量需要修改这两个值才能达到目的。
timeout 0
当客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能
tcp-keepalive 300
单位是秒,表示将周期性检测客户端是否还处于健康状态,避免服务器一直阻塞,如果设置为0,则不会周期性的检测。
loglevel notice
日志级别。可以是这些值:
- debug(记录大量日志信息,适用于开发、测试阶段)
- verbose(较多日志信息)
- notice(适量日志信息,使用于生产环境)
- warning(仅有部分重要、关键信息才会被记录)
logfile /var/redis/log/redis_6379.log
日志文件的位置,当指定为空字符串时,为标准输出,如果redis已守护进程模式运行,那么日志将会输出到/dev/null。
syslog-enabled no
要想把日志记录到系统日志,就把它改成 yes,也可以可选择性的更新其他的syslog 参数以达到你的要求。
syslog-ident redis
设置系统日志的标识符
syslog-facility local0
指定系统日志设置,必须是 USER 或者是 LOCAL0-LOCAL7 之间的值。
databases 16
设置数据库的数量,redis默认为16个库,默认数据库为0,可以使用SELECT 命令在连接上指定数据库。
maxclients 10000
设置客户端最大并发连接数,默认无限制,Redis可以同时打开的客户端连接数为Redis进程可以打开的最大文件。如果设置 maxclients为0,表示不作限制。当客户端连接数到达限制时,Redis会关闭新的连接并向客户端返回max number of clients reached错误信息。
maxmemory <bytes>
指定Redis最大内存限制,Redis在启动时会把数据加载到内存中,达到最大内存后,Redis会先尝试清除已到期或即将到期的Key。当此方法处理后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis新的vm机制,会把Key存放内存,Value会存放在swap区,格式:maxmemory
maxmemory-policy noeviction
当内存使用达到最大值时,redis使用的清除策略:
- volatile-lru 使用LRU算法移除设置过过期时间的key (LRU:最近使用 Least Recently Used )
- allkeys-lru 使用LRU算法移除任何key
- volatile-random 移除设置过过期时间的随机key
- allkeys-random 移除随机key
- volatile-ttl 移除即将过期的key(minor TTL)
- noeviction noeviction 不移除任何key,只是返回一个写错误 ,默认选项
maxmemory-samples 5
LRU 和 minimal TTL 算法都不是精准的算法,但是相对精确的算法(为了节省内存)随意你可以选择样本大小进行检,redis默认选择3个样本进行检测,你可以通过maxmemory-samples进行设置样本数