环境介绍

master 192.168.1.28 centos 6.4 x64位系统

slave  192.168.1.80 centos 6.4 x64位系统


##############################################

2台服务器都安装redis

安装redis组件tcl

tar zxvf tcl8.6.0-src.tar.gz -C /usr/src/

cd /usr/src/tcl8.6.0/unix

./configure

make && make install


安装redis

tar zxvf redis-2.8.19.tar.gz -C /usr/src/

cd /usr/src/redis-2.8.19/

make PREFIX=/redis install


vi /etc/profile


PATH=$PATH:/redis/bin


source /etc/profile


cd /redis

mkdir log

mkdir data

mkdir conf

cp /usr/src/redis-2.8.19/redis.conf conf/redis-6379.conf

vi conf/redis-6379.conf


pid文件位置

41 pidfile /var/run/redis-6379.pid

客户端连接的超时时间,单位为秒,超时后会关闭连接

74 timeout 50

日志记录等级,4个可选值

98 loglevel warning

日志文件位置

103 logfile /redis/log/redis-6379.log 

注释掉以下3行

142 #save 900 1

143 #save 300 10

144 #save 60 10000

设置 Redis 数据保存到disk的策略。save ""表示关闭策略,非常消耗I/O

145 save ""

镜像备份文件的文件名

177 dbfilename dump-6379.rdb

数据库镜像备份的文件放置的路径

187 dir /redis/data/

禁用disk-based(基于硬盘),使用diskless,基于socket,使用网络传输

272 repl-diskless-sync no

当收到第一个请求时,等待多个slave一起来请求之间的间隔时间。

284 repl-diskless-sync-delay 5

设置redis能够使用的最大内存,清除已到期或即将到期的Key

449 maxmemory 300mb

开启数据持久化

appendonly yes


启动redis

redis-server /redis/conf/redis-6379.conf &

查看端口

netstat -anpt | grep redis

######################################################

slave服务器修改配置文件

vi /redis/conf/redis-6379.conf

在以下位置添加一行

# slaveof

slaveof 192.168.1.28 6379


重启redis

pkill redis-server

redis-server /redis/conf/redis-6379.conf &

查看端口

netstat -anpt | grep redis


在master主机写入key

[root@localhost redis]# redis-cli

127.0.0.1:6379> set name aa

OK

127.0.0.1:6379> keys *

1) "name"


在slave主机查看key

[root@localhost conf]# redis-cli

127.0.0.1:6379> keys *

1) "name"


2边的key一样,说明正常。

关于redis持久化问题,上面的配置好了持久化。

如果重启redis,数据会丢失。

测试重启,再次进入,发现数据是空的

[root@localhost redis]# redis-cli

127.0.0.1:6379> keys *

(empty list or set)


再次写入keys,使用save保存

[root@localhost redis]# redis-cli

127.0.0.1:6379> keys *

(empty list or set)

127.0.0.1:6379> set pass b

OK

127.0.0.1:6379> keys *

1) "pass"

127.0.0.1:6379> save

OK

127.0.0.1:6379> exit

重启redis

[root@localhost redis]# pkill redis-server

[root@localhost redis]# redis-server /redis/conf/redis-6379.conf &

[4] 23642

[3]   Done                    redis-server /redis/conf/redis-6379.conf

重新进入redis,查看key,发现key还在。

[root@localhost redis]# redis-cli

127.0.0.1:6379> keys *

1) "pass"