Jedis 概述
- 定义:Jedis是Java语言中一个开源的、用于操作Redis数据库的客户端库。 它是由Redis官方推荐的Java客户端之一
- 功能:提供一组简单易用的API,方便开发者进行与Redis服务器之间的交互
- 官网网址:https://github.com/redis/jedis
使用步骤
-
引入依赖
<!--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>
-
创建 Jedis 对象,建立连接
private Jedis jedis; @BeforeEach void setUp() { // 1.建立连接 jedis = new Jedis("192.168.7.7", 6379); // jedis = JedisConnectionFactory.getJedis(); // 2.设置密码 jedis.auth("123"); // 3.选择库 jedis.select(0); }
-
引用 Jedis api 进行数据库操作
-
释放连接
@AfterEach void tearDown() { if (jedis != null) { jedis.close(); } }
Jedis 连接池
-
定义:统一管理 Jedis 连接的方式
-
功能
- 避免 Jedis 本身线程不安全问题
- 避免频繁创建销毁连接的性能损耗
-
基本参数(通过 application.yaml 文件进行配置更好,后面会写怎么配置)
public class JedisConnectionFactory { private static final JedisPool jedisPool; static{ // 连接池配置参数 JedisPoolConfig poolConfig = new JedisPoolConfig(); // 最大连接数量 (最多允许创建的连接数量) poolConfig.setMaxTotal(8); // 最大空闲连接 (做多预备多少个空闲的连接) poolConfig.setMaxIdle(8); // 最小空闲连接 (做少预备多少个空闲连接, 长时间空闲时会释放多余的空闲连接) poolConfig.setMinIdle(0); // 最大等待时间 (单位是 ms, 如果超过这个时间没有获取到空闲连接则会报错) poolConfig.setMaxWaitMillis(1000); jedisPool = new JedisPool(poolConfig, "192.168.7.7", 6379, 1000, "123"); } // 通过JedisPool获取Jedis对象,调用此方法则线程池会创建一个线程 public static Jedis getJedis(){ return jedisPool.getResource(); } }
-
使用连接池中的线程
private Jedis jedis; jedis = JedisConnectionFactory.getJedis();