redis连接默认不使用密码,为了安全,现在比较多的情况运维会设置密码。
设置redis密码有两种方法,下面分开讨论。
1、命令行工具修改
如果已经有密码,则按老的密码登陆redis,即通过redis-cli -h **** -p *** -a password这种方式登陆redis,登陆后通过下属命令可以查看redis目前已有的密码。
config get requirepass
如果没有设置密码,则这里获取到的内容是空的,如果设置了密码,则获取到密码信息,这里展示的密码信息是明文。
#redis没有设置登陆密码时
redis-cli> config get requirepass
1) "requirepass"
2) ""
#redis设置了登陆密码,密码为old_password
redis-cli> config get requirepass
1) "requirepass"
2) "old_password"
这里其实使用的是redis的config命令,通过命令手册可以看到,config提供set方法来设置密码,我们下面将密码设置为new_password。
#redis设置了登陆密码,密码为old_password
redis-cli> config get requirepass
1) "requirepass"
2) "old_password"
#redis修改密码为new_password
redis-cli> config set requirepass "new_password"
#读取redis密码信息
redis-cli> config get requirepass
1) "requirepass"
2) "new_password"
这个时候这个密码没有刷新到配置文件中,如果redis重启,会丢失这个密码,为了持久生效,需要继续使用config的rewrite命令,这个命令会将当前的修改刷新到配置文件中,执行完这个命令后断开和重启都不会丢失这个密码了。
config rewrite
2、修改配置文件
redis的默认配置文件为redis.conf,打开配置文件,修改requirepass这个配置项即可,requirepass后面字符串就是其密码。
# requirepass foobared
默认是关闭密码的,这里取消注释,后面内容修改为新密码即可,类似我要将redis连接密码设置为1234567,则其配置如下。
requirepass 1234567
修改完需要重启redis-server才生效。
------------------------------------------------------------------我是分割线---------------------------------------------------------------------------------
从上述两种修改来看,如果是首次初始化redis,设置密码时,直接修改配置文件即可。
如果是修改已有的redis,这时候修改配置文件的话,需要重启,这个会产生丢失数据,这时候通过config命令修改很不错。
其实一直用config,也是不错的。