本文将演示单个服务器redis多实例redis
一、首先将redis的配置文件复制4份vim
[root@Salve1 ~]# cd /application/
[root@Salve1 application]# cd redis
数组
#建立存放不一样实例配置的文件夹服务器
[root@Salve1 redis]# mkdir redis6380
[root@Salve1 redis]# mkdir redis6381
[root@Salve1 redis]# mkdir redis6382
[root@Salve1 redis]# mkdir redis6383 app
#将redis配置,分别复制到对应的目录下
[root@Salve1 redis]# cp redis.conf redis6380
[root@Salve1 redis]# cp redis.conf redis6381
[root@Salve1 redis]# cp redis.conf redis6382
[root@Salve1 redis]# cp redis.conf redis6383socket
二、修改redis配置文件redis.conf中的端口号测试
[root@Salve1 redis]# cd redis6380
[root@Salve1 redis6380]# vim redis.conf spa
# Accept connections on the specified port, default is 6379.orm
# If port 0 is specified Redis will not listen on a TCP socket.server
port 6380
以一样的方式,分别修改redis638一、redis638二、redis6383文件中的redis.conf文件
三、启动实例
[root@Salve1 redis]# src/redis-server redis.conf
[root@Salve1 redis]# src/redis-server redis6380/redis.conf
[root@Salve1 redis]# src/redis-server redis6381/redis.conf
[root@Salve1 redis]# src/redis-server redis6382/redis.conf
[root@Salve1 redis]# src/redis-server redis6383/redis.conf
经过命令查看是否所有启动了
[root@Salve1 redis]# ps -ef|grep redis
root 14659 1 0 16:38 ? 00:00:00 src/redis-server *:6379
root 14666 1 0 16:39 ? 00:00:00 src/redis-server *:6380
root 14684 1 0 16:41 ? 00:00:00 src/redis-server *:6381
root 14688 1 0 16:41 ? 00:00:00 src/redis-server *:6382
root 14692 1 0 16:41 ? 00:00:00 src/redis-server *:6383
root 14696 14583 0 16:41 pts/0 00:00:00 grep redis
能够看出5个实例所有启动了,接下来开始配置主从实例
四、配置主从
目前我准备将6379端口开启的redis实例做为主,其他的四个实例做为从
4.1配置从实例
[root@Salve1 redis]# cd redis6380/
[root@Salve1 redis6380]# vim redis.conf
#找到如下配置,并修改
# slaveof <masterip> <masterport>
在改行下面添加
slaveof 127.0.0.1 6379
[root@Salve1 redis]# cd redis6381/
[root@Salve1 redis6380]# vim redis.conf
#找到如下配置,并修改
# slaveof <masterip> <masterport>
在改行下面添加
slaveof 127.0.0.1 6379
.....
一样的方式分别配置余下两个实例
五、测试主从
第四步配置完成后要重启redis-server,配置才能生效
首先关闭redis server端
[root@Salve1 redis]# src/redis-cli -p 6380 shutdown
[root@Salve1 redis]# src/redis-cli -p 6381 shutdown
[root@Salve1 redis]# src/redis-cli -p 6382 shutdown
[root@Salve1 redis]# src/redis-cli -p 6383 shutdown
启动redis server端
[root@Salve1 redis]# src/redis-server redis6380/redis.conf
[root@Salve1 redis]# src/redis-server redis6381/redis.conf
[root@Salve1 redis]# src/redis-server redis6382/redis.conf
[root@Salve1 redis]# src/redis-server redis6383/redis.conf
在主实例中添加几个数据,测试在从数组中可否获取到
[root@Salve1 redis]# src/redis-cli
127.0.0.1:6379> mset name "z3" age 22 sex "nv"
127.0.0.1:6379> get name
"z3"
能够看出主实例是能够看到name值得
下面进入从实例client端,查看可否获取到
[root@Salve1 redis]# src/redis-cli -p 6380
127.0.0.1:6380> get name
"z3"
能够看到从实例确实能够读取主实例设置的变量,同时能够测试从实例是不容许作新增和修改操做的
127.0.0.1:6380> set wugu 123
(error) READONLY You can't write against a read only slave.
一般会用主实例作增删改操做,从实例只作查询使用。