zoukankan      html  css  js  c++  java
  • redis主从 以及认证配置

           以前用redis用的很多,各种数据类型用的飞起,算是用得很溜了。不过那都是封装好的方法,自己直接调用。以前的公司比较规范,开发只是开发,很少去做跟运维相关的事情。 

               换了一份工作,不过这边项目刚开始起步,各种东西还不是很全,需要从头做起。运维什么的都是自己来。这下要考虑的东西就多了。比如说redis主从同步配置,redis认证等等。一路摸索过来,踩了各种坑。这篇文章主要记录redis主从配置,认证机制,以及php操作redis的几个脚本。

    1 主从同步

    个人认为,redis比mysql简单多了。redis的主从配置真的很简单,配置一句slaveof即可。唯一的坑就在于配置之前,确保主从服务器之间的联通,主从服务器之间redis服务器的联通。ping主从,redis-cli -h 连接测试。如果有不通的地方,配置一下conf文件即可。redis.conf文件也是相当的容易理解的

    下面简单的以一主一从进行讲解主从配置。

    主 192.168.211.129   从 192.168.211.130

    首先确保 主能连自己,主机能连到从机

    root@ubuntu:~/ceshi# ping 192.168.211.130
    PING 192.168.211.130 (192.168.211.130) 56(84) bytes of data.
    64 bytes from 192.168.211.130: icmp_req=1 ttl=64 time=1.87 ms
    64 bytes from 192.168.211.130: icmp_req=2 ttl=64 time=0.334 ms
    64 bytes from 192.168.211.130: icmp_req=3 ttl=64 time=0.982 ms
    ^C
    --- 192.168.211.130 ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 2002ms
    rtt min/avg/max/mdev = 0.334/1.062/1.872/0.631 ms
    root@ubuntu:~/ceshi# redis-cli
    redis 127.0.0.1:6379> 
    root@ubuntu:~/ceshi# redis-cli -h 192.168.211.130
    redis 192.168.211.130:6379> 
    

      

      也要确保从机能连到主机

    一半自己连自己是没有问题的,但是自己一半不允许其他机器连接。

    修改redis.conf 的 bind_ip.一般注释掉

    #bind  127.0.0.1

    这样其他机器也能通过ip+端口访问了

    其实配置主从同步真的很简单,redis.conf文件讲解的很清楚,slaveof master即可

    我们在从机上配置这句话  

    slaveof 192.168.211.129  6379
    

      

      这样在主机上插入数据,从机上也会有数据。

    2 连接认证

            在redis.conf中,有一个bind项,默认为 127.0.0.1,如果不注释掉这句话,只允许本机连接。注释掉之后,任何机器 通过ip+端口就能连接。这存在安全问题,在这里加上验证机制即可。

            redis的验证机制也是相当的简单。在redis.conf中,有一句:

    # requirepass foobared
    

      去掉注释,把foobared改成自己的认证密码即可。

    这样连接的时候, redis-cli  -h  x.x..x.x  -a passwd 即可,加上 -a 参数认证

    如果主机配置了认证机制,在从机的 配置上,也加上认证密码即可。修改从机的配置redis.conf

    #masterauth passwd
    

      去掉注释,修改成主机的认证密码即可

    3 常见的linux下操作 (修改redis.conf之后重启)

    root@ubuntu:~# ps -ef|grep redis
    root      1536     1  0 Jun16 ?        00:00:03 /usr/bin/redis-server /etc/redis/redis.conf
    root      1724  1623  0 00:28 pts/0    00:00:00 grep --color=auto redis
    root@ubuntu:~# kill 1536
    root@ubuntu:~# /usr/bin/redis-server /etc/redis/redis.conf
    root@ubuntu:~# ps -ef|grep redis
    root      1726     1  1 00:29 ?        00:00:00 /usr/bin/redis-server /etc/redis/redis.conf
    root      1728  1623  0 00:29 pts/0    00:00:00 grep --color=auto redis
    

     加了认证之后的连接

    root@ubuntu:~# redis-cli -h 192.168.211.130 -p 6379 -a foobared 
    redis 192.168.211.130:6379> keys *
    1) "a"
    redis 192.168.211.130:6379> 
    

      

    3 php操作redis连接脚本

            $redis = new Redis();
            $redis->connect(¥redisHost, $redisPort);
            $redis->auth('foobared');
            $id = $redis->rpop($this->mailList); //右边弹出一个
            $redis->close();
    

      这只是一个示例。为了说明redis连接之后的认证方法auth如何使用

     

  • 相关阅读:
    mysql 系列文章推荐
    文章推荐
    LeetCode 229: Majority Element II
    archlinux安装ssh,并启动服务 | 繁华的森林
    小程序之登录
    owasp top10
    JAVASE学习笔记—009 异常处理
    Spring学习笔记:Bean的配置及其细节
    Vim编码识别及转换
    理解 Java 中的类装载器
  • 原文地址:https://www.cnblogs.com/taijun/p/4583465.html
Copyright © 2011-2022 走看看