1. 程式人生 > >【Redis快取機制】14.Java連線Redis_Jedis_主從模式

【Redis快取機制】14.Java連線Redis_Jedis_主從模式

redis的主從模式之前提到過,這裡我們使用redis來實現主從模式。

首先在VMware虛擬機器中的Linux中開啟兩個終端,一個是使用者jack,一個是newuser:


然後我們jack作為主機,redis服務執行在6379埠,我們設定newuser為從機,設定其redis
執行在6380埠,然後使用slaveof no one清除兩機的所有主從關係:

注意:我們客戶端登入的時候,使用的配置檔案分別是redis.conf和redis6380.conf。
其中redis6380.conf的內容和redis.conf一樣,只有port埠號的設定不同:


可以看一下兩個終端的資訊,發現他們都是互相獨立的,不是任何一個的從機(即兩個都是獨立的主機):


用指令實現主從模式的方法:


下面,我們使用jedis實現主從模式(別忘記把兩個終端全部執行slaveof no one,使兩機各自獨立)
package cn.com.redis;

import redis.clients.jedis.Jedis;

public class MasterAndSlaveTest {
    public static void main(String[] args) throws InterruptedException {
        Jedis jedis_M = new Jedis("192.168.248.129",6379);//主機
        Jedis jedis_S = new Jedis("192.168.248.129",6380);//從機
        
        //遵循“配從不配主”的模式
        jedis_S.slaveof("192.168.248.129",6379);
    
        jedis_M.set("class", "8888");//主機去寫
        
        //記憶體中讀寫太快,防止讀在寫之前先完成而出現null的情況,這裡做一下延遲
        Thread.sleep(2000);
        
        String result = jedis_S.get("class");//從機去讀
        System.out.println(result);
    }
}

結果:


可以看到從機已經讀取到了主機的資訊,說明我們通過jedis設定主從模式成功。