设置redis访问密码

第一种方式 (当前这种linux配置redis密码的方法是一种临时的,如果redis重启之后密码就会失效,)

(1)首先进入redis,如果没有开启redis则需要先开启:
    [root@iZ94jzcra1hZ bin]# redis-cli -p 6379
    127.0.0.1:6379> 
(2)查看当前redis有没有设置密码:
    127.0.0.1:6379> config get requirepass
    1) "requirepass"
    2) ""
(3)为以上显示说明没有密码,那么现在来设置密码:
    127.0.0.1:6379> config set requirepass abcdefg
    OK
    127.0.0.1:6379> 
(4)再次查看当前redis就提示需要密码:
    127.0.0.1:6379> config get requirepass
    (error) NOAUTH Authentication required.
         127.0.0.1:6379>

 

第二种方式 (永久方式)

  • 需要永久配置密码的话就去redis.conf的配置文件中找到requirepass这个参数,如下配置:
  • 修改redis.conf配置文件  
  • masterauth passwd123  指定密码passwd123
  • requirepass passwd123 指定密码passwd123
  • 保存后重启redis就可以了

 

masterauth passwd123 
requirepass passwd123 
1、是否只设置requirepass就可以?masterauth是否需要同步设置?
答:redis启用密码认证一定要requirepass和masterauth同时设置。
如果主节点设置了requirepass登录验证,在主从切换,slave在和master做数据同步的时候首先需要发送一个ping的消息给主节点判断主节点是否存活,再监听主节点的端口是否联通,发送数据同步等都会用到master的登录密码,否则无法登录,log会出现响应的报错。
也就是说slave的masterauth和master的requirepass是对应的,所以建议redis启用密码时将各个节点的masterauth和requirepass设置为相同的密码,降低运维成本。当然设置为不同也是可以的,注意slave节点masterauth和master节点requirepass的对应关系就行。
2、requreipass和master的作用?
masterauth作用:主要是针对master对应的slave节点设置的,在slave节点数据同步的时候用到。
requirepass作用:对登录权限做限制,redis每个节点的requirepass可以是独立、不同的。

 

连接redis

1.redis-cli连接redis

[root@iZ2ze3zda3caeyx6pn7c5zZ bin]# redis-cli
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth 123        //指定密码
OK
127.0.0.1:6379> keys *
1) "a"
2) "cit"
3) "clist"
4) "1"
127.0.0.1:6379>

 

2.Jedis连接redis
java 代码方式

//连接redis服务器,192.168.0.100:6379
 jedis = new Jedis("ip", 6379);
 //权限认证
jedis.auth("password");

 

配置文件方式

<bean id=”jedisConnectionFactory”
class=”org.springframework.data.redis.connection.jedis.JedisConnectionFactory”>
<property name=”hostName” value=”${redis.host}” />
<property name=”port” value=”${redis.port}” />
<property name=”password” value=”${redis.pass}” />
</bean>

 

 

redis的其他命令。
如果需要关闭redis:
[root@iZ94jzcra1hZ bin]# pkill redis
如果需要开启redis:
[root@iZ94jzcra1hZ bin]# redis-server &
加&符号的作用是为了让此进程转换为后台进程,不占用shell的服务。

 

参考文献:https://www.cnblogs.com/756623607-zhang/p/6859540.html

posted @ 2020-03-26 23:31  圣痕道心  阅读(4519)  评论(0编辑  收藏  举报