redis复制原理:
当设置好slave服务器后,slave会建立和master的连接,然后发送sync命令。无论是第一次同步建立的连接还是连接断开后的重新连 接,master都会启动一个后台进程,将数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存起来。后台进程完成写文件 后,master就发送文件给slave,slave将文件保存到磁盘上,然后加载到内存恢复数据库快照到slave上。接着master就会把缓存的命 令转发给slave。而且后续master收到的写命令都会通过开始建立的连接发送给slave。从master到slave的同步数据的命令和从 client发送的命令使用相同的协议格式。当master和slave的连接断开时slave可以自动重新建立连接。如果master同时收到多个 slave发来的同步连接命令,只会使用启动一个进程来写数据库镜像,然后发送给所有slave。
环境信息:
selinux、iptables 关闭
master centos6.5_x65 ip:192.168.0.76
slave centos6.5_x65 ip:192.168.0.75
两台机器安装redis,过程略。
修改master主配置文件:
[root@localhost ~]# vi /usr/local/redis/conf/redis.conf
daemonize yes #守护进程
保存退出。
启动master:
[root@localhost ~]# /usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
修改slave主配置文件:
daemonize yes #守护进程
slaveof 192.168.0.76 6379 #定义master的ip及端口
[root@localhost ~]# /usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
[root@localhost ~]# lsof -i:6379 #看到服务已启动并且与master建立连接
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
redis-ser 4713 root 4u IPv6 21909 0t0 TCP *:6379 (LISTEN)
redis-ser 4713 root 5u IPv4 21911 0t0 TCP *:6379 (LISTEN)
redis-ser 4713 root 6u IPv4 21915 0t0 TCP 192.168.0.75:44736->192.168.0.76:6379 (ESTABLISHED)
测试:
在master执行:
[root@localhost ~]# /usr/local/redis/bin/redis-cli
127.0.0.1:6379> set test1 aaa #添加test1
OK
127.0.0.1:6379> get test1
“aaa”
127.0.0.1:6379> set test2 bbb ##添加test2
OK
127.0.0.1:6379> get test2
“bbb”
127.0.0.1:6379>
在slave执行:
[root@localhost ~]# /usr/local/redis/bin/redis-cli
127.0.0.1:6379> get test1 #获取数据
“aaa”
127.0.0.1:6379> get test2
“bbb”
127.0.0.1:6379>
默认slave是只能读取,不能添加数据的。在slave添加数据时会报错:
127.0.0.1:6379> set test3 ccc
(error) READONLY You can’t write against a read only slave.
要启用slave的写操作,需要修改配置文件,将slave-read-only改为no
slave-read-only no #yes改为no
redis的主从复制与mysql比较来说配置还是很简单的。
相关推荐
redis-2.8.9
redis-2.8.19主从配置+sentinel主从切换+Java源码案例!下载下来可直接启动,已经配置好主从关系和sentinel,JAVA代码已经有相应的方法,并有部分自己的理解注释!
非关系型数据库:redis,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。配合Mysql使用可有奇效。
redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-...
Running Redis as a Service Installing the Service Uninstalling the Service Starting the Service Stopping the Service Naming the Service
Redis从入门到精通高清,迅雷播放器组件可顺利播放
Redis在CentOS系统中创建集群可能会用到的安装包, 其中redis-3.0.0.tar是Redis服务, redis-3.0.0.gem是Redis通过ruby创建集群要用到的包
7: 复制配置文件 cp redis.conf /usr/local/redis 注path为解压后的安装包路径 /root/gsj/redis-3.0.6 8: 让redis以后台进程的形式运行 vim /usr/local/redis/redis.conf 编辑redis.conf配置文件,修改如下内容; ...
redis64-2.8.9.rar 64位。Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
redis++使用说明,windows下编译redis-plus-plus
Window环境Redis-Master-Slave-主从配置,解压后查看readme,直接启动,就可以进行Redis的主从操作了!
文件夹内包括有Redis-x64-3.0.504.zip、Redis-x64-3.2.100.msi。可供大家下载安装。
redis校验工具redis-full-check,配合redis-shake使用!!!
Redis-x64-5.0.10.msi
压缩文件包括tomcat-redis-session-manager-master-2.0.0.jar、jedis-2.7.3.jar、commons-pool2-2.3.jar三个jar包使用方法请参照https://github.com/jcoleman/tomcat-redis-session-manager。apache-tomcat-8.5.33....
资源在github上下载下来,包含Redis-x64-3.2.100.zip和Redis-x64-3.2.100.msi两个文件
Redis的主从结构可以采用一主多从或者级联结构,Redis主从复制可以根据是否是全量分为全量同步和增量同步。
Redis稳定版 Redis-x64-5.0.14.1.zip
Tomcat8亲测可用 tomcat-redis-session-manager的jar包 修改了tomcat-redis-session-manager源码进行的编译生成的jar包