以前用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如何使用

 

redis主从 以及认证配置的更多相关文章

  1. Redis主从和HA配置

    1同步原理 摘自:http://www.cnblogs.com/stephen-liu74/archive/2012/03/30/2364717.html "下面的列表清楚的解释了Redis ...

  2. Redis主从 部署和配置

    目录 一.主从简介 主从介绍 主从原理 二.主从部署 环境介绍 主从配置 临时主从 三.主从测试 一.主从简介 主从介绍 Redis都是主节点.每个从节点只能有一个主节点,而主节点可以同时具有多个从节 ...

  3. Redis 主从 Replication 的配置,主从复制原理

    概述 Redis的replication机制允许slave从master那里通过网络传输拷贝到完整的数据备份.具有以下特点: 异步复制.从2.8版本开始,slave能不时地从master那里获取到数据 ...

  4. redis主从+哨兵 安装配置二

    实验环境: 192.168.2.201 centos7 master sentinel 192.168.2.202 centos7 slave   sentinel 192.168.2.203 cen ...

  5. redis主从+哨兵 安装配置一

    一.目的 实现redis的高可用. 二.同步过程 注意:当Master在后台把数据保存到快照文件完成之后,Master会把这个快照文件传送给Slave,而Slave则把内存清空后,加载该文件到内存中: ...

  6. nopCommerce 3.9 大波浪系列 之 使用Redis主从高可用缓存

    一.概述 nop支持Redis作为缓存,Redis出众的性能在企业中得到了广泛的应用.Redis支持主从复制,HA,集群. 一般来说,只有一台Redis是不可行的,原因如下: 单台Redis服务器会发 ...

  7. Redis主从高可用缓存

    nopCommerce 3.9 大波浪系列 之 使用Redis主从高可用缓存   一.概述 nop支持Redis作为缓存,Redis出众的性能在企业中得到了广泛的应用.Redis支持主从复制,HA,集 ...

  8. Redis哨兵 部署和配置

    目录 一.哨兵简介 哨兵介绍 哨兵原理 二.哨兵部署 环境介绍 哨兵配置 三.使用验证 一.哨兵简介 哨兵介绍 Sentinel(哨兵)是用于监控redis集群中Master状态的工具,其已经被集成在 ...

  9. REDIS主从配置及切换

    最近公司项目也用上了.但有个点没有弄很明白. requirepass只是给CLIENT认证用的,还是同时给从REDIS认证用的?(masterauth) 一般的思路是主服务器不开AOF,从服务器打开A ...

随机推荐

  1. salesforce 零基础开发入门学习(六)简单的数据增删改查页面的构建

    VisualForce封装了很多的标签用来进行页面设计,本篇主要讲述简单的页面增删改查.使用的内容和设计到前台页面使用的标签相对简单,如果需要深入了解VF相关知识以及标签, 可以通过以下链接查看或下载 ...

  2. JTMz换路径导致MySQL服务不能启动的问题

    问题: JTMz解压到我的机器上,运行一次后,把服务停止了,然后移到了另外一个路径,JTMz中自带的MySQL服务启动不起来了. 解决: 在注册表中修改 HKEY_LOCAL_MACHINE\SYST ...

  3. CSS3伸缩布局Flex学习笔记

    如果需要使用伸缩布局首先得把display:flex;对于兼容还得加前缀display:-webkit-display:flex;等其他浏览器前缀,但我本机Chrome测试已经不需要加前缀了,其实这些 ...

  4. setTimeout,clearTimeout和setInterval

    http://www.cnblogs.com/backuper/archive/2009/12/02/1615129.html var timeout; timeout = setTimeout(hi ...

  5. 深入理解javascript作用域系列第四篇——块作用域

    × 目录 [1]let [2]const [3]try 前面的话 尽管函数作用域是最常见的作用域单元,也是现行大多数javascript最普遍的设计方法,但其他类型的作用域单元也是存在的,并且通过使用 ...

  6. Android之自动文本输入识别提示

    相信大家都熟悉自动识别提示吧,在我们的生活中随处可见,今天就让我为大家简单介绍一下它是如何设计的. 所谓自动识别输入即是根据用户输入的已有信息,为用户提示可能的值,方便用户完成输入.在Android设 ...

  7. 记一次上传文件到七牛云存储的经历(Plupload & UEditor)(.net)

    七牛 配置ACCESS_KEY和SECRET_KEY Qiniu.Conf.Config.ACCESS_KEY = "ACCESS_KEY"; Qiniu.Conf.Config. ...

  8. No resource identifier found for attribute 'showAsAction' in package 'android'

    运行一个项目时在一个menu.xml文件item属性android:showAsAction 报错 No resource identifier found for attribute 'showAs ...

  9. 使用log4j配置不同文件输出不同内容

    敲代码中很不注意写日志,虽然明白很重要.今天碰到记录日志,需要根据内容分别输出到不同的文件. 参考几篇文章: 感觉最详细:http://blog.csdn.net/azheng270/article/ ...

  10. [logstash-input-file]插件使用详解

    前篇介绍过Logstash的使用,本篇继续深入,介绍下最常用的input插件——file. 这个插件可以从指定的目录或者文件读取内容,输入到管道处理,也算是logstash的核心插件了,大多数的使用场 ...