SpringBoot使用Jedis步骤

发布于:2024-04-03 ⋅ 阅读:(134) ⋅ 点赞:(0)

基础连接方式

引入依赖

 <!-- Jedis -->
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
        </dependency>

创建Jedis对象,建立连接

在这里插入图片描述

操作字符串

方法名与Rdeis命令一致

在这里插入图片描述

操作Hash类型

在这里插入图片描述

释放资源

在这里插入图片描述

测试数据

在这里插入图片描述

完整代码

import redis.clients.jedis.Jedis;

import java.util.Map;


public class JedisTest {
   static private Jedis jedis;


   static void setUp(){
        //1.建立连接
        jedis = new Jedis("Ip地址",6379);
        //2.设置密码
        jedis.auth("123221");
        //3.选择库
        jedis.select(0);
    }


   static void testString(){
        //存入数据
        String result = jedis.set("name","张三");
        System.out.println("result = "+result);
        //获取数据
        String name = jedis.get("name");
        System.out.println("name = "+name);
    }

    static void testHash(){
       jedis.hset("user:1","name","李四");
       jedis.hset("user:1","age","14");
       //获取
       Map<String,String> map=jedis.hgetAll("user:1");
       System.out.println(map);
    }


   static void tearDown(){
        //关闭连接
        jedis.close();
    }

    public static void main(String[] args) {
        setUp();
        testHash();
        tearDown();
    }
}

使用线程池连接

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

线程池配置

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

public class JedisConnectionFactory {
    private static final JedisPool jedisPool;

    static {
        //配置连接池
        JedisPoolConfig poolConfig = new JedisPoolConfig();
        // 设置最大连接数
        poolConfig.setMaxTotal(8);
        // 设置最大空闲连接数
        poolConfig.setMaxIdle(8);
        // 设置最小空闲连接数
        poolConfig.setMaxIdle(0);
        // 设置延时时间 默认-1 一直存活
        poolConfig.setMaxWaitMillis(1000);
        // 创建连接池对象
        jedisPool = new JedisPool(poolConfig, "47.93.247.7", 6379, 1000,"123221");
    }

    public static Jedis getJedis() {
        return jedisPool.getResource();
    }
}

更换连接方式,其他不变

 static void setUp(){
       // 建立连接
       jedis=JedisConnectionFactory.getJedis();
    }

可能有的小伙伴会好奇,为什么不把关闭连接去掉,可以按住Ctrl键进入jedis.close()方法里面

在这里插入图片描述
可以从上面代码看到,判断有没有连接池,如果有 连接结束后退回连接池,没有则消毁。

运行结果

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到