Java操作redis叢集和主從
阿新 • • 發佈:2018-12-25
import java.io.IOException; import java.util.HashSet; import java.util.Set; import org.junit.Test; import redis.clients.jedis.HostAndPort; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisCluster; import redis.clients.jedis.JedisPoolConfig; public class ClusterJredis { /** * 叢集模式操作 */ @Test public void runCluster() { Set<HostAndPort> node = new HashSet<HostAndPort>(); node.add(new HostAndPort("192.168.1.235", 7001)) ; node.add(new HostAndPort("192.168.1.235", 7002)) ; node.add(new HostAndPort("192.168.1.235", 7003)) ; node.add(new HostAndPort("192.168.1.235", 7004)) ; node.add(new HostAndPort("192.168.1.235", 7005)) ; node.add(new HostAndPort("192.168.1.235", 7006)) ; JedisPoolConfig jpc = new JedisPoolConfig(); jpc.setMaxIdle(20); jpc.setTestOnBorrow(true); //返回連線時,檢測連線是否成功 jpc.setTestOnReturn(true); jpc.setMaxTotal(100); jpc.setMaxWaitMillis(-1); JedisCluster jc = new JedisCluster(node, 5000,100, jpc); jc.set("name", "zxx"); System.out.println(jc.get("name")); try { jc.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally{ jc=null; } } /** * 主從模式操作 * @throws InterruptedException */ @Test public void runMs() throws InterruptedException { Jedis mnode = new Jedis("192.168.1.233",6379);//主機 Jedis snode = new Jedis("192.168.1.234",6379);//從機 //配從不配主 snode.slaveof("192.168.248.233",6379); mnode.set("desc", "fuck");//主機寫 Thread.sleep(20000); String result = snode.get("desc");//從機讀 System.out.println(result); mnode.close(); snode.close(); } }
這裡只是一個小案例,功能可以自行擴充套件。