Redis数据库连接

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();
        }
    }
}

 

posted @ 2019-06-19 00:57  萧余  阅读(2772)  评论(0编辑  收藏  举报