Java連接Redis


一、導入依賴

<dependency>    <groupId>redis.clients</groupId>    <artifactId>jedis</artifactId>    <version>3.1.0</version></dependency>

二、測試連接性

public class RedisTest {private static String HOST = '101.37.37.**';private static Integer HOSTIP = 6379;public static void main(String[] args) {Jedis jedis = new Jedis(HOST,HOSTIP);System.out.println(jedis);jedis.close();}}

測試成功

測試成功.png


三、主從復制

public class ReidsMSTest {public static void main(String[] args) throws InterruptedException {// 創建連接Jedis jedis_M = new Jedis('101.37.37.**', 6379);Jedis jedis_S = new Jedis('101.37.37.**', 6380);        // 遵循“配從不配主”的模式/jedis_S.slaveof('127.0.0.1', 6379);        // 主機去寫jedis_M.set('k6', 'v6');        // 內存中讀寫太快,防止讀在寫之前先完成而出現null的情況,這里做一下延遲 Thread.sleep(500);        //從機去讀System.out.println(jedis_S.get('k6'));        //關閉連接jedis_M.close();jedis_S.close();}}

主從復制測試成功

主從復制測試成功.png


四、集群連接

public class ClusterConnection {private static String HOST = '101.37.37.**';public static void main(String[] args) {Set<HostAndPort> nodes = new HashSet<>();nodes.add(new HostAndPort(HOST,7000));nodes.add(new HostAndPort(HOST,7001));nodes.add(new HostAndPort(HOST,7002));nodes.add(new HostAndPort(HOST,7003));nodes.add(new HostAndPort(HOST,7004));nodes.add(new HostAndPort(HOST,7005 ));JedisCluster cluster = new JedisCluster(nodes);//設置一個keycluster.set('k1','v1');//讀取k1的值System.err.println(cluster.get('k1'));//輸出連接對象System.out.println(cluster);//關閉連接cluster.close();}}

集群連接成功

集群連接成功.png

五、JedisPool

說明:為什么要使用JedisPool
1、 獲取Jedis實例需要從JedisPool中獲取
2、 用完Jedis實例需要返還給JedisPool
3、 如果Jedis在使用過程中出錯,則也需要還給JedisPool

測試案例

public class JedisPool {public static void main(String[] args) {GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();//配置連接池的相關信息poolConfig.setMaxTotal(100);poolConfig.setMaxIdle(80);poolConfig.setMinIdle(20);poolConfig.setMaxWaitMillis(2000);JedisPool pool = new JedisPool(poolConfig,'101.37.37.**',6379);//從連接池得到鏈接Jedis jedis = pool.getResource();User user = new User(1,'小明',18,'湖南');        //轉換為json格式存儲到Redisjedis.set('user:1',JSON.toJSONString(user));String json = jedis.get('user:1');User User = JSON.parseObject(json, com.tk.User.class);        //轉化為對象取出System.err.println(user.getAddress());        //關閉連接jedis.close();}}

測試結果

測試成功


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM