1. 程式人生 > >Redis主從模式

Redis主從模式

string tee pan image ref SM err opened bsp

為了提高redis的性能,可以創建基於主從模式的redis,在主服務器上負責寫操作,從服務器上進行讀取操作。

Redis主從模式的配置:

1.復制redis.conf文件到/usr/local/bin目錄下,命名為redis-slave.conf,修改端口號為6479,基於該文件做從服務器

cp redis.conf redis-slave.conf

技術分享圖片

2.修改redis-slave.conf配置文件

技術分享圖片

技術分享圖片

這裏我們將端口為6479的redis服務器作為端口為6379服務器的從服務器

修改redis-slave.conf配置文件

技術分享圖片

修改完後,啟動主從服務器:

[root@localhost bin]# redis-server redis.conf
[root@localhost bin]# redis
-server redis-slave.conf

技術分享圖片

連接reids主從服務器,查看主從信息

技術分享圖片技術分享圖片

測試:

主機上設置a的值為10,從機上獲取a

技術分享圖片

技術分享圖片

主從模式代碼:

技術分享圖片
package com.study.util;

import redis.clients.jedis.Jedis;

public class RedisMasterSlave {

    public static void main(String[] args) throws InterruptedException {
        Jedis master = new Jedis("192.168.150.129",6379);//
主機 master.auth("1234"); Jedis slave = new Jedis("192.168.150.129",6579);//從機 slave.auth("1234"); //設置6579服務器的主機為6379 slave.slaveof("192.168.150.129",6379); master.select(1); master.setex("a",100,"100");//主機去寫 //延遲一秒,防止內存中讀寫太快,讀在寫之前先完成而出現null的情況
Thread.sleep(1000); slave.select(1); String result = slave.get("a");//從機去讀 System.out.println(result); master.close(); slave.close(); } }
View Code

代碼執行前:

技術分享圖片

執行後:

技術分享圖片

註:端口為6579的redis服務器為新配的服務器,在代碼執行前配置文件並沒有配置他的主服務器,此時它作為一個單獨的服務器運行,

在執行代碼slave.slaveof("192.168.150.129",6379); 後,它被設置為6379的從服務器,此時端口為6379的服務器就有6479和6579兩臺從服務器。

代碼git地址:https://gitee.com/sjcq/redis.git

Redis主從模式