redis配置文件

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

参考文档

上一篇:什么是3C和用户故事 (User Stories)


下一篇:【转】TCP 半连接队列和全连接队列满了会发生什么?又该如何应对?