Jedis 快速入门

Jedis 快速入门

  1. 引入依赖
<!--jedis-->
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>3.7.0</version>
</dependency>
<!--单元测试-->
<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter</artifactId>
    <version>5.7.0</version>
    <scope>test</scope>
</dependency>
  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<String, String> 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<String, String> map = jedis.hgetAll("heima:user:5");
        System.out.println(map);
    }

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

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值