一、導入依賴
<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();}}
測試成功
三、主從復制
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();}}
主從復制測試成功
四、集群連接
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();}}
集群連接成功
五、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();}}




