redis配置文件介绍
linux环境下配置大于编程
General
序号 | 配置项 | 说明 |
---|---|---|
1 | daemonize no |
Redis 默认不是以守护进程的方式运行,可以通过该配置项修改, 使用 yes 启用守护进程(Windows 不支持守护线程的配置为 no ) |
2 | tcp-backlog |
设置tcp的backlog, backlog其实是一一个连接队列, backlog队列总和 = 未完成三次握手队列+已经完成三次握手队列。 注意Linux内核会将这个值减小到/ proc/sys/ net/ core/somaxconn的值, 所以需要确认增大somaxconn和tcp_ max_ syn backlog两个值 |
3 | port 6379 |
指定 Redis 监听端口,默认端口为 6379 |
4 | bind 127.0.0.1 |
绑定的主机地址 |
5 | timeout 300 |
当客户端闲置多少秒后关闭连接,如果指定为 0 ,表示关闭该功能 |
6 | Tcp-keepalive 0 |
检测连接是否中断,设置为0时表示禁用该服务 |
7 | loglevel notice |
日志级别,Redis 总共支持四个级别:debug、verbose、notice、warning, 级别逐渐增高,打印的信息随着级别的变高而减少,默认为 notice |
8 | syslog-enabled no |
是否打印日志到syslog中,默认为no |
9 | syslog-ident redis |
指定syslog中的日志标志 |
10 | databases 16 |
设置数据库的数量,默认数据库为0,可以使用SELECT 命令连接指定数据库id |
SNAPSHOTTING
序号 | 配置项 | 说明 |
---|---|---|
1 | save Redis 默认配置文件中提供了三个条件: save 900 1 <br />save 300 10<br /> save 60 10000 |
分别表示 900 秒(15 分钟)内有 1 个更改,300 秒(5 分钟)内有 10 个更改以及 60 秒内有 10000 个更改。 指定在多长时间内,有多少次更新操作,就会将更改写入磁盘 dump.rgb 文件 |
2 | dbfilename dump.rdb |
指定数据持久化后保存的文件名,默认值为 dump.rdb |
SECURITY
设置访问密码:config set requirepass 密码
使用redis需要:auth 密码
密码置空:config set requirepass ''
LIMITS
-
maxclients
:设置同一时间最大客户端连接数,默认无限制,Redis 可以同时打开的客户端连接数为 Redis 进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis 会关闭新的连接并向客户端返回 max number of clients reached 错误信息 -
maxmemory-policy
数据清除策-
volatile-lru
: 设置了过期时间的数据采取LRU(近期最少使用)算法.如果对key使用"expire"指令指定了过期时间,那么此key将会被添加到"过期集合"中。将已经过期/LRU的数据优先移除.如果"过期集合"中全部移除仍不能满足内存需求,将OOM。 -
allkeys-lru
:对所有的数据,采用LRU算法 -
volatile-random
:对设置了过期时间的数据采取"随即选取"算法,并移除选中的K-V,直到"内存足够"为止。如果"过期集合"中全部移除全部移除仍不能满足,将OOM -
allkeys-random
:对所有的数据,采取"随机选取"算法,并移除选中的K-V,直到"内存足够"为止 -
volatile-ttl
:对设置了过期时间的数据采取TTL算法(最小存活时间),移除即将过期的数据。 -
noeviction
:不做任何干扰操作,直接返回OOM异常,也是默认选项,实际开发不要用该选项
-
-
# maxmemory-samples 3
:上面LRU和最小TTL策略并非严谨的策略,而是大约估算的方式,因此可以选择取样值以便检查,默认值3