1.建立maven項目pox.xml導入依賴包
<dependency>
<groupId>io.lettuce</groupId>
<artifactId>lettuce-core</artifactId>
<version>5.1.7.RELEASE</version>
</dependency>
2.建立連接
public class RedisConnectionDemoA { public static final String REDIS_ADDRESS = "redis://"自己設置的驗證信息"@redis-server:6379/0"; public static void main(String[] args) { RedisURI redisURI = RedisURI.create(REDIS_ADDRESS); RedisClient redisClient = RedisClient.create(redisURI); StatefulRedisConnection<String,String> connect = redisClient.connect(); System.out.println("【連接返回】"+connect); connect.close(); redisClient.shutdown(); } }
3.創建連接池管理
public class RedisConnectionPool { private static final int MAX_IDLE = 10 ; // 最大的維持連接數量
private static final int MIN_IDLE = 1 ; // 最小維持的可用數量
private static final int MAX_TOTAL = 1 ; // 最大的可用數量
private static final boolean TEST_ON_BORROW = true ; public static void main(String[] args) throws Exception { // 1、如果要進行連接池的操作,則肯定要進行一些連接池的基本配置
GenericObjectPoolConfig config = new GenericObjectPoolConfig() ; // 配置對象
config.setMaxIdle(MAX_IDLE); // 設置最大維持連接數量
config.setMinIdle(MIN_IDLE); // 設置最小維持連接數量
config.setMaxTotal(MAX_TOTAL); // 連接池總共的可用連接數量
config.setTestOnBorrow(TEST_ON_BORROW); // 連接測試后返回 // 2、連接池的創建需要依賴於連接的配置類實例
GenericObjectPool<StatefulRedisConnection<String, String>> pool = ConnectionPoolSupport.createGenericObjectPool(() -> RedisConnectionUtil.getConnection(), config); for (int x = 0 ; x < 10 ; x ++) { StatefulRedisConnection<String, String> connection = pool.borrowObject();// 通過連接池獲取一個連接
System.out.println("【連接池對象】" + connection); // 發出一個“ping”命令
System.out.println("【測試連接】ping = " + connection.sync().ping()); connection.close(); } } }
4.連接池工具類。
public class RedisConnectionPool { private static final int MAX_IDLE = 10 ; // 最大的維持連接數量
private static final int MIN_IDLE = 1 ; // 最小維持的可用數量
private static final int MAX_TOTAL = 1 ; // 最大的可用數量
private static final boolean TEST_ON_BORROW = true ; public static void main(String[] args) throws Exception { // 1、如果要進行連接池的操作,則肯定要進行一些連接池的基本配置
GenericObjectPoolConfig config = new GenericObjectPoolConfig() ; // 配置對象
config.setMaxIdle(MAX_IDLE); // 設置最大維持連接數量
config.setMinIdle(MIN_IDLE); // 設置最小維持連接數量
config.setMaxTotal(MAX_TOTAL); // 連接池總共的可用連接數量
config.setTestOnBorrow(TEST_ON_BORROW); // 連接測試后返回 // 2、連接池的創建需要依賴於連接的配置類實例
GenericObjectPool<StatefulRedisConnection<String, String>> pool = ConnectionPoolSupport.createGenericObjectPool(() -> RedisConnectionUtil.getConnection(), config); for (int x = 0 ; x < 10 ; x ++) { StatefulRedisConnection<String, String> connection = pool.borrowObject();// 通過連接池獲取一個連接
System.out.println("【連接池對象】" + connection); // 發出一個“ping”命令
System.out.println("【測試連接】ping = " + connection.sync().ping()); connection.close(); } } }