Redis 快速上手 - 常规配置项详解

607 阅读3分钟

这是我参与8月更文挑战的第 8 天,活动详情查看:8月更文挑战

本章重点介绍 redis 的高级应用,如应用于要求不是太严格的基于 发布-订阅模型 的消息队列;如对多条 redis 指令进行事务化管理以提高效率

我的 redis 系列,感兴趣的朋友也可以来看看

Redis 快速上手 - 安装配置

Redis 快速上手 - 常见数据结构和用法(一)

Redis 快速上手 - 常见数据结构和用法(二)

Redis 快速上手 - 进阶

本章主要是介绍日常中使用频率较高的配置项,会以 命令 + 默认配置值 的方式进行解释,使用的配置文件为 redis.windows.conf,位于 redis 文件夹的根目录下

include c:\path\to\other.conf

引入公共配置文件,适用于在需要启动多个 redis 实例的情况下,如做 redis 集群,大部分参数会是固定的,仅有小部分需要根据实例去修改,如 port

bind 127.0.0.1

默认情况,如果未使用 bind 命令,redis 默认会监听所有可用的端口;如果需要限定多个白名单 ip 可以使用 redis 服务,我们可是这么使用 bind 192.168.0.1 192.168.0.2

redis 的默认配置为 bind 127.0.0.1,即仅限本机连接 redis 服务实例

protected-mode yes

保护模式,默认开启

如果在未使用 bind 命令配置白名单,以及未设置访问的密码时,会仅限本地客户端访问

requirepass your-password

指定 redis 的登录模块,默认配置为免密登录

port 6379

redis 默认配置的端口

如果端口指定为 0,则 redis 不会监听 tcp 的套接字

timeout 0

当客户端空闲 n 秒后关闭连接(0为禁用)

tcp-keepalive 0

当值 time > 0 时,服务端会以给定的 second 为周期,去向客户端发送 TCP acks,这样可以得知客户端的存活状态,如需要配置,建议调整 time 为 60,单位是 s

TCP ASK:可以简单的理解为服务端向客户端发送了一个特殊格式的消息包(类似于心跳包),客户端需要回复服务端表示收到该消息,即告知到服务端 “我还活着”

loglevel notice

配置日志的级别,一共有 4 种

  • debug,很多信息,对开发/测试很有用
  • verbose,很多很少有用的信息,但不像调试级别那样乱七八糟
  • notice,稍微冗长,可能是生产中需要的
  • warning,只记录非常重要/关键的消息

logfile ""

指定日志文件名。还可以使用“ stdout”强制 Redis 登录标准输出。

databases 16

设置 redis 的 db 库,默认设置为 16个。

客户端连接上 redis 后,默认会使用 db 0。

由于 redis 的特性是,连接上去后,可以随意切换不同的 db 进行操作,从一个应用管理的角度,建议不同的应用数据,使用不同的 redis 实例进行操作

在翻阅了 redis 的配置文件,没有发现可以修改默认的使用 db 的命令;即不管我们 db 库设置了多少,客户端连接后默认都会使用 db-0,客户端可以使用命令 select db 进行切换

save time change

在指定的 time 秒内,变更超过 n 次,就是触发保存操作,支持配置多组

系统默认配置 save 900 1; save 300 10; save 60 10000

dbfilename dump.rdb

redis 的数据存储文件,默认命名是 dump.rdb

redis 在运行的时候,会先从这个文件读取到数据载入内存

dir ./

和上一个指令 dbfilename 配合使用,表示 redis 的 db 文件默认存放在当前目录下的 dump.rdb


在这篇文章中,提及到的配置项,基本上都是日常使用频率之高,多用用就会记得差不多,后续计划在更新 1-2 篇,将剩余的配置项全部整理出来,如本文未提及的 redis 主从配置数据异步存储的策略