Jedis 快速入门

Jedis 快速入门

  1. 引入依赖


    redis.clients
    jedis
    3.7.0



    org.junit.jupiter
    junit-jupiter
    5.7.0
    test

  1. 编写测试类
package com.hao.jedisTest;

import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import redis.clients.jedis.Jedis;

import java.util.Map;

public class JedisTest {
    private Jedis jedis;

    // 建立连接
    @BeforeEach
    public void setUp() {
        // 1.建立连接
        jedis = new Jedis("192.168.150.101", 6379);
        //jedis = JedisConnectionFactory.getJedis();
        // 2.设置密码
        jedis.auth("123321");
        // 3.选择库
        jedis.select(0);
    }

    @Test
    public void testString() {
        // 存入数据
        String result = jedis.set("name", "黄宇诗");
        System.out.println("result = " + result);
        // 获取数据
        String name = jedis.get("name");
        System.out.println("name = " + name);
    }

    @Test
    public void testHash() {
        // 插入hash数据
        jedis.hset("heima:user:5", "name", "Jack");
        jedis.hset("heima:user:5", "age", "21");
        // 获取
        Map map = jedis.hgetAll("heima:user:5");
        System.out.println(map);
    }

    // 释放资源
    @AfterEach
    public void tearDown() {
        if (jedis != null) {
            jedis.close();
        }
    }

}

Jedis本身是线程不安全的,并且频繁的创建和销毁连接会有性能损耗,因此一般使用Jedis连接池代替Jedis的直连方式

Jedis连接池快速入门

  1. 编写连接池工具类
package hao.jedis.util;

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

public class JedisConnectionFactory {
    private static JedisPool jedisPool;

    static {
        // 配置连接池
        JedisPoolConfig poolConfig = new JedisPoolConfig();
        poolConfig.setMaxTotal(8);      // 最大连接个数
        poolConfig.setMaxIdle(8);       // 最大空闲连接数
        poolConfig.setMinIdle(0);       // 最小空闲连接数
        poolConfig.setMaxWaitMillis(1000);  // 等待连接时间
        // 创建连接池对象,参数:连接池配置、服务端ip、服务端端口、超时时间、密码
        jedisPool = new JedisPool(poolConfig, "192.168.150.101", 6379, 1000, "123321");
    }

    public static Jedis getJedis(){
        return jedisPool.getResource();
    }
}
  1. 编写测试类
package com.hao.jedisTest;

import hao.jedis.util.JedisConnectionFactory;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import redis.clients.jedis.Jedis;

import java.util.Map;

public class JedisTest {
    private Jedis jedis;

    // 建立连接
    @BeforeEach
    public void setUp() {
        // 1.建立连接
        jedis = JedisConnectionFactory.getJedis();
        // 2.设置密码
        jedis.auth("123321");
        // 3.选择库
        jedis.select(0);
    }

    @Test
    public void testString() {
        // 存入数据
        String result = jedis.set("name", "黄宇诗笨蛋");
        System.out.println("result = " + result);
        // 获取数据
        String name = jedis.get("name");
        System.out.println("name = " + name);
    }

    @Test
    public void testHash() {
        // 插入hash数据
        jedis.hset("heima:user:5", "name", "Jack");
        jedis.hset("heima:user:5", "age", "21");
        // 获取
        Map map = jedis.hgetAll("heima:user:5");
        System.out.println(map);
    }

    // 释放资源
    @AfterEach
    public void tearDown() {
        if (jedis != null) {
            jedis.close();
        }
    }

}

你可能感兴趣的:(Redis,java,redis,junit)