redis单主机配置多实例

本文将演示单个服务器redis多实例

1、首先将redis的配置文件复制4份

[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

#将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 redis6383


2、修改redis配置文件redis.conf中的端口号

[root@Salve1 redis]# cd redis6380
[root@Salve1 redis6380]# vim redis.conf 

# Accept connections on the specified port, default is 6379.

# If port 0 is specified Redis will not listen on a TCP socket.

port 6380

以同样的方式,分别修改redis6381、redis6382、redis6383文件中的redis.conf文件

3、启动实例

[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个实例全部启动了,接下来开始配置主从实例

4、配置主从

目前我准备将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

.....

同样的方式分别配置余下两个实例

5、测试主从

第四步配置完成后要重启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.

通常会用主实例做增删改操作,从实例只做查询使用。

你可能感兴趣的:(redis多实例,redis多实例,redis单主机多实例)