6.java连接Redis

Jedis介绍

Redis不仅是使用命令来操作,现在基本上主流的语言(java、C、C#、C++、php、Node.js、Go等)都有客户端支持。
在官方网站里列一些Java的客户端,有Jedis、Redisson、Jredis、JDBC-Redis、等;其中官方推荐使用Jedis和Redisson。在企业中用的最多的就是Jedis,下面我们就重点学习下Jedis。
Jedis同样也是托管在github上,地址:https://github.com/xetorthio/jedis

java入门程序

依赖:

    <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-pool2 -->
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-pool2</artifactId>
      <version>2.3</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
    <dependency>
      <groupId>redis.clients</groupId>
      <artifactId>jedis</artifactId>
      <version>2.7.0</version>
    </dependency>

代码:

public class Demo1 {
    /**
     * 单实例连接redis数据库
     */
    @Test
    public void first(){
        Jedis jedis = new Jedis("192.168.157.133", 6379);
        jedis.set("addr","北京");
        System.out.println(jedis.get("addr"));
    }
}

连接池

    /**
     * 连接池
     */
    @Test
    public void second(){
//        1.设置连接池的配置对象
        JedisPoolConfig config = new JedisPoolConfig();
//        2.设置池中最大连接数[可选]
        config.setMaxTotal(50);
//        3.设置空闲时间池中的连接数[可选]
        config.setMaxIdle(10);
//        4. 设置连接池对象
        JedisPool pool = new JedisPool(config, "192.168.157.133", 6379);
//        5.从池中获取连接对象
        Jedis jedis = pool.getResource();
        System.out.println(jedis.get("addr"));
//        6.连接归还池中
    }

定义连接池工具类

package utils;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class JedisUtils {
    //    1.定义一个连接池对象
    private static final JedisPool POOL;

    /**
     *  静态代码块初始化连接池对象:
     *     静态代码特点: 随着类的加载而执行,而且只执行一次,它仅能初始化类变量,即static修饰的数据成员。
     * */
    static {
//        1.设置连接池的配置对象
        JedisPoolConfig config = new JedisPoolConfig();
//        2.设置池中最大连接数[可选]
        config.setMaxTotal(50);
//        3.设置空闲时间池中的连接数[可选]
        config.setMaxIdle(10);
//        4. 设置连接池对象
        POOL = new JedisPool(config, "192.168.157.133", 6379);
    }

    /**
     * 从连接池获取连接方法
     */
    public static Jedis getJedis() {
        return POOL.getResource();
    }
}

 

posted @ 2020-07-22 21:36  指尖下的世界  阅读(444)  评论(0编辑  收藏  举报
/* 看板娘 */ /*炸泡*/
/* 鼠标点击求赞文字特效 */