Jedis 操作redis簡易說明
阿新 • • 發佈:2021-06-30
參考地址:https://tech.antfin.com/docs/2/98726
1: maven引入jar
<!-- Jedis --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-pool2</artifactId> <version>2.8.0</version> </dependency>
2:測試程式碼
package com.gwzx.gwzxyw.utils; import org.apache.commons.pool2.impl.GenericObjectPoolConfig; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; /** * 操作redis簡易工具類 * @author * */ public class JedisUtil { privatestatic JedisPool jedispool = null; public static void main(String[] args) { try { //連線池通用的一些設定 GenericObjectPoolConfig poolconf = new GenericObjectPoolConfig(); //設定連線池的屬性 //設定連線池最多建立50個jedis連線 poolconf.setMaxTotal(60);//設定池中最多保留10個空閒的jedis連線 poolconf.setMaxIdle(10); //設定池中最小保留5個空閒的jedis連線 poolconf.setMinIdle(5); // 當資源池連線用盡後,呼叫者的最大等待時間(單位為毫秒)。預設值為-1,表示永不超時 poolconf.setMaxWaitMillis(1000L * 2); //當連線用完時,是否阻塞客戶端直到超時。false代表連線耗盡,直接給客戶端拋異常 poolconf.setBlockWhenExhausted(true); //從池中借一個連線時,先測試一下連線是否正常 poolconf.setTestOnBorrow(true); //return 一個jedis例項給pool時,是否檢查連線可用性(ping()) //poolconf.setTestOnReturn(true); // 空閒檢測 // 如果為true,表示用一個專門的執行緒對空閒的連線進行有效性的檢測掃描,如果有效性檢測失敗,即表示無效連線,會從資源池中移除。 poolconf.setTestWhileIdle(true); // 表示一個Jedis連線至少停留在空閒狀態的最短時間,然後才能被空閒連線掃描執行緒進行有效性檢測,預設值為60000毫秒,即60秒。 poolconf.setMinEvictableIdleTimeMillis(1000L * 60); // 表示兩次空閒連線掃描的活動之間,要睡眠的毫秒數,預設為30000毫秒,也就是30秒鐘。 poolconf.setTimeBetweenEvictionRunsMillis(1000L * 30); // 表示空閒檢測執行緒每次最多掃描的Jedis連線數,預設值為-1,表示掃描全部的空閒連線。 poolconf.setNumTestsPerEvictionRun(-1); // public JedisPool(final GenericObjectPoolConfig poolConfig, final String host, int port, int timeout, final String password, final int database) jedispool = new JedisPool(poolconf, "127.0.0.1", 6379, 2000, null, 0); //從池中獲取一個連線 Jedis jedis = jedispool.getResource(); //使用 System.out.println(jedis.ping()); //PONG String t = jedis.setex("receipt:aa", 30, "老郭laoguo.."); System.out.println("t:" + t); //OK String value = jedis.get("receipt:aa"); System.out.println("value:" + value); //將連線放回連線池 jedis.close(); } catch (Exception e) { e.printStackTrace(); System.out.println("啟動失敗"); } } }