redis 分布式,主从同步
redis和memcache比较像的,memcache可以实现服务器的集群,redis肯定也是可以的。下面在一台机,实现redis主从复制。
1,copy一下redis.conf,生成一个从机的配置
cp /usr/local/redis/redis.conf /usr/local/redis/redis_slave.conf
2,修改主服务器的配置redis.conf
bind 127.0.0.1
3,修改从服务器的配置redis_slave.conf
pidfile /usr/local/redis/var/redis_slave.pid
port 10002
bind 127.0.0.1
logfile /usr/local/redis/var/redis_slave.log
dbfilename dump_slave.rdb
slaveof 127.0.0.1 6379
4,启动主服务器,从服务器
redis-server /usr/local/redis/redis.conf
redis-server /usr/local/redis/redis_slave.conf
查看一下,redis.log文件会有以下内容
[3774] 27 Jun 12:53:32 * The server is now ready to accept connections on port 10002
[3774] 27 Jun 12:53:32 - 0 clients connected (0 slaves), 539568 bytes in use
[3774] 27 Jun 12:53:32 * Connecting to MASTER...
[3772] 27 Jun 12:53:32 - Accepted 127.0.0.1:33237
[3772] 27 Jun 12:53:32 * Slave ask for synchronization
[3772] 27 Jun 12:53:32 * Starting BGSAVE for SYNC
[3772] 27 Jun 12:53:32 * Background saving started by pid 3775
[3774] 27 Jun 12:53:32 * MASTER <-> SLAVE sync started: SYNC sent
[3775] 27 Jun 12:53:32 * DB saved on disk
[3772] 27 Jun 12:53:33 * Background saving terminated with success
[3772] 27 Jun 12:53:33 * Synchronization with slave succeeded
[3774] 27 Jun 12:53:33 * MASTER <-> SLAVE sync: receiving 333 bytes from master
[3774] 27 Jun 12:53:33 * MASTER <-> SLAVE sync: Loading DB in memory
[3774] 27 Jun 12:53:33 * MASTER <-> SLAVE sync: Finished with success
查看一下
root@ubuntu:/usr/local/redis# ps -e|grep redis
3774 ? 00:00:00 redis-server
4148 ? 00:00:00 redis-server
5,测试结果
- <?php
- $redis = new redis();
- $redis->connect('127.0.0.1', 6379);
- $redis->set('test',json_encode(array(1,2,3,4)));
- print_r(json_decode($redis->get('test')));
- ?>
root@ubuntu:/usr/local/redis# telnet 127.0.0.1 10002
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
get test
$9
[1,2,3,4]
缓存数据是放在6379这个端口的服务器上,代码执行后,登录到10002端口的slave服务器上也可以看到有数据,说明已经同步了。
我尝试了一下,redis的主主同步,但是没有成功,我看了一下log,以从服务器127.0.0.1 10002为master的时候,
同时启动二个端口,怎么也连接不上127.0.0.1 6379是不支持呢?还是配置有问题,我在网上查了一下,没看到有人配置主主同步的。
redis 分布式,主从同步的更多相关文章
- Redis的主从同步复制
先来看一下Redis的主从同步复制的原理: 在Slave启动并连接到Master之后,它将主动发送一条SYNC命令.此后Master将启动后台存盘进程,同时收集所有接收到的用于修改数据集的命令,在后台 ...
- Redis 的主从同步(复制)
Redis 的主从同步(复制) Redis 的主从同步(复制) 什么是主从同步(复制) 假设有两个 redis 实例 ⇒ A 和 B B 实例的内容与 A 实例的内容保持同步 那么称 A 实例是主数据 ...
- redis之主从同步
很多企业都没有使用到 Redis 的集群,但是至少都做了主从.有了主从,当 master 挂掉的时候,运维让从库过来接管,服务就可以继续,否则 master 需要经过数据恢复和重启的过程,这就可能会拖 ...
- redis的主从同步
一.redis的主从操作流程 1. 准备三个redis配置文件 #进入redis的配置文件夹,准备好这几个文件,6379不用管,默认的,和这次操作无关 [root@qishi ~]# cd /etc/ ...
- Redis的主从同步手动执行故障切换
1.准备三个redis配置文件,通过端口的区分,启动三个redis数据库实例,然后配置主从复制. # a6371.conf port 6371 daemonize yes pidfile /data/ ...
- redis 安装 主从同步 哨兵模式
一.redis 的安装1.先将安装包放到linux的一个文件夹下面 2.解压压缩包如图所示 3.解压后进入解压文件 4.安装: make 出现it.s a good idea to run 'make ...
- 【Redis】主从同步
Redis提供了主从复制功能,主要是为了保证服务的高可用性.在redis.conf配置文件中通过设置,可以开启主从复制功能.或者在客户端中使用slaveof 命令开启该功能. slaveof < ...
- zookeeper,kafka,redis等分布式框架的主从同步策略
1 zookeeper选主机制 1.1 LeaderElection选举算法 选举线程由当前Server发起选举的线程担任,他主要的功能对投票结果进行统计,并选出推荐的Server.选举线程首先向所有 ...
- redis多实例与主从同步及高级特性(数据过期机制,持久化存储)
redis多实例 创建redis的存储目录 vim /usr/local/redis/conf/redis.conf #修改redis的配置文件 dir /data/redis/ #将存储路径配置修改 ...
- Redis系列之(二):Redis主从同步,读写分离
1. Redis主从同步 Redis支持主从同步.数据可以从主服务器向任意数量的从服务器上同步,同步使用的是发布/订阅机制. 2. 配置主从同步 Mater Slave的模式,从Slave向Maste ...
随机推荐
- C、C++中如何成功嵌入python
修改lib文件名称,拷贝修改C:\Python27\libs目录下原来的python27.lib为python27_d.lib 包含头文件在C:\Python27\include目录下 包含lib文件 ...
- C语言之基本算法08—去掉最高分去掉最低分求平均值
// /* ================================================================== 题目:选拔赛中通经常使用这种办法求选手分数,去掉一个最 ...
- ionic build android log
RubertdeMacBook-Pro:~ Rubert$ ionic build android Current working directory is not a Cordova-based p ...
- 用rz,sz命令在windows和linux之间传输文件(转)
转自http://www.linuxmine.com/178.html有很多人没有听说过ZModem协议,更不知道有rz/sz这样方便的工具: 下面一段是从SecureCRT的帮助中copy的: ZM ...
- javascript 将内容复制到剪贴板
javascript 将内容复制到剪贴板 CreateTime--2017年9月19日11:36:50 Author:Marydon js 操作剪贴板 1.设置剪贴板内容 UpdateTime-- ...
- Debian 的 apt 命令不能使用自动完成的问题
我的Debian是8.10,使用apt-get命令可以正常使用自动完成功能,但apt命令却不行,在国外的一个网站上找到了解决办法: 从这个地址 http://pastebin.com/PRBMt3an ...
- Android 6.0 超级简单的权限申请 (Permission)
代码地址如下:http://www.demodashi.com/demo/13369.html 背景描述 随着Android系统的不断升级,谷歌对用户的隐私是越来越注重了,给我们开发者带来了更多的繁琐 ...
- 利用Redis撤销JSON Web Token产生的令牌
利用Redis撤销JSON Web Token产生的令牌 作者:chszs.版权全部.未经允许,不得转载.博主主页:http://blog.csdn.net/chszs 早先的博文讨论了在Angula ...
- JBoss环境搭建及部署Web项目
http://blog.csdn.net/pop303/article/details/7210290 赶在年前学习了一下JBOSS,之前觉得JBOSS相关资料会有很多,不过现在发现很少,在亚马逊出也 ...
- easyui treegrid增、删、改及批量保存
treegrid添加新行和删除行的方法: 添加和删除直接调用这两个方法即可,修改的方法有点特殊,treegrid没有提供update方法,设置行为编辑状态,$('#obj_tgd_objectlist ...