redis配置主从(master-slave)服务器
redis配置主从(master-slave)服务器
1、简介
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。
2、安装测试环境
centos 6.3
3、redis配置master (主服务器 192.168.2.136)
3.1 安装redis
linux下安装
$ wget http://redis.googlecode.com/files/redis-2.6.13.tar.gz
$ tar xzf redis-2.6.13.tar.gz
$ cd redis-2.6.13
$ make
注意:安装前,请先确定你的服务器已经安装过gcc、tcl
3.2 建立相关目录
mkdir -p /usr/local/webserver/redis/conf
mkdir -p /usr/local/webserver/redis/run
mkdir -p /usr/local/webserver/redis/db
cp redis.conf /usr/local/webserver/redis/conf/
#cd src
cp redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server mkreleasehdr.sh /usr/local/webserver/redis/
vim /usr/local/webserver/redis/conf/redis.conf
#修改下面三处
daemonize yes --yes启用守护进程
pidfile /usr/local/webserver/redis/run/redis.pid --Redis以守护进程方式运行时把pid写入文件
dir /usr/local/webserver/redis/db --数据存放的目录
port 6380
3.3 创建开启redis脚本
vim /usr/local/webserver/redis/start.sh
#!/bin/bash
/usr/local/webserver/redis/redis-server /usr/local/webserver/redis/conf/redis.conf
3.4 创建关闭redis进程脚本
vim /usr/local/webserver/redis/stop.sh
#!/bin/bash
kill `cat /usr/local/webserver/redis/run/redis.pid`
4、创建两个从slave服务器(192.168.2.137 、192.168.2.138)
4.1 建立相关目录
mkdir -p /usr/local/webserver/redis/conf
mkdir -p /usr/local/webserver/redis/run
mkdir -p /usr/local/webserver/redis/db
4.2 使用scp 来复制文件及目录
#192.168.2.137上执行
scp /usr/local/webserver/redis/* root@192.168.2.137:/usr/local/webserver/redis/ -r
#192.168.2.138上执行
scp /usr/local/webserver/redis/* root@192.168.2.138:/usr/local/webserver/redis/ -r
#分别输入密码后复制
4.3 配置slave的redis.conf
#192.168.2.137上执行
vim /usr/local/webserver/redis/conf/redis.conf
port 6381
pidfile /usr/local/webserver/redis-slave1/run/redis.pid
dir /usr/local/webserver/redis-slave1/db
slaveof 192.168.2.136 6380
#192.168.2.138上执行
vim /usr/local/webserver/redis/conf/redis.conf
port 6382
pidfile /usr/local/webserver/redis-slave1/run/redis.pid
dir /usr/local/webserver/redis-slave1/db
slaveof 192.168.2.136 6380
5、启动redis并查看主从同步情况
5.1启动服务器
#分别启动主从服务器上的redis
/usr/local/webserver/redis/start.sh
#验证启动是否
netstat -nlpt | grep redis-server
5.2 测试同步情况
#192.168.2.136 master
$ set param haibrother
#192.168.2.137 slave
$ get param
$ haibrother
#192.168.2.138 slave
$ get param
$ haibrother
#同步成功