redis單主機配置多實例

本文將演示單個服務器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 redis6383
socket


二、修改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.

一般會用主實例作增刪改操做,從實例只作查詢使用。

相關文章
相關標籤/搜索