Redis 基础教程

Redis 命令

Redis 高级教程

Redis 笔记

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/redis-config-password.html

redis 配置认证密码及重启相关命令(适用于单机和集群)

Redis CONFIG SET 命令 Redis CONFIG SET 命令


redis 配置认证密码,不管是针对单机或集群,主要有两种方式,一是无需重启的热设置,另一个是需要重启服务;不管哪种方式,都围绕着服务器 config 命令进行操作。

无需重启 redis 配置方式(推荐)

这里面先介绍单机 redis 的设置方式。

第一步,通过客户端命令登陆后,执行密码设置命令:
redis> config set requirepass my_redis

如果之前设置过密码,会提示需要输入密码认证信息。

(error) NOAUTH Authentication required.

输入认证密码后,提示 OK 后,继续上述设置命令,返回 OK。

redis> auth my_psd
OK
redis> config set requirepass my_redis
OK

这时,我们可以通过 config get 命令查看设置密码的信息。

redis> config get requirepass
1) "requirepass"
2) "my_redis"

值得注意的是,到此步只是把 redis 的密码认证设置在了 redis 服务的内存空间,并没有持久化,redis 服务重启后会立即失效,需要下一步的持久化的工作。

第二步,持久化第一步设置的认证密码,主要有两种方式,一是直接到 redis 服务启动的配置文件里直接修改,另一种是通过 redis 自带的持久化配置命令 config rewrite
第一种直接在 redis 配置文件里,增加如下配置密码:
requirepass my_redis

第二种通过 config rewrite 命令直接持久化到相应的配置文件,如下:

redis> config rewrite
OK

设置 OK 后,到对应的配置文件的最后处,会发现如下追加信息:

# Generated by CONFIG REWRITE
requirepass "my_redis"

这里需要注意的是,如果 redis 服务不是通过配置文件启动的,直接采用 redis 硬编码的默认配置启动(未指定配置文件),就会提示由于服务启动未使用配置文件,不能持久化的信息

redis> config rewrite
(error) ERR The server is running without a config file

所以,在生产环境中,尽量基于配置文件启动

重启 redis 服务的密码设置方式

这种方式比较简单粗暴,个人不推荐;它主要有两种 case,一是没有依赖配置文件启动时,二是依赖配置文件启动时。

若没有依赖配置文件启动,其实是无需重启服务,且不可持久化,服务重启就失效,用 config set requirepass xxx 命令即可搞定。

若依赖配置文件启动,直接到配置文件追加认证密码设置,如 requirepass xxx 后,重启 redis 服务即可。

集群的认证密码配置方法

待续...