这里redis就不详细介绍了。redis就是一个数据存放在内存的一个nosql数据库,数据存储是是以key-v键值对的形式进行存储,读写效率都非常高。
jedis简介
jedis是redis的Java客户端之一,就是使用java程序去操作redis中的数据
Jedis中的大部分方法基本都和在原生的redis命令类似
jedis本身是线程不安全的,在高并发情况下可能会出现很多问题
jedis的使用
创建maven工程,导入jedis依赖
<dependencies>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>4.3.0</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.5.2</version>
<scope>test</scope>
</dependency>
</dependencies>
连接redis
private Jedis jedis;
@BeforeEach
void setUp() {
jedis=new Jedis();
jedis.auth("123456"); // redis密码
jedis.select(0); //选择redis数据库
}
@AfterEach
void tearDown() {
if (jedis!=null){
jedis.close(); //关闭redis连接
}
}
使用jedis
@Test
public void name(){
String set = jedis.set("age", "10");
System.out.println(set);
String name = jedis.get("age");
System.out.println(name);
}
推荐方式:jedis本身是线程不安全的,并且频繁的创建和销毁会有性能损耗,因此我们使用jedis连接池代替jedis的连接方式
public class JedisConnctionConfig {
private static JedisPool jedisPool;
//jedis本身是线程不安全的,并且频繁的创建和销毁会有性能损耗,因此我们使用jedis连接池代替jedis的自连方式
static {
// 配置连接池
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
// 最大连接
jedisPoolConfig.setMaxTotal(8);
// 最大空闲连接
jedisPoolConfig.setMaxIdle(8);
// 最小空闲连接
jedisPoolConfig.setMinIdle(0);
// 最长等待时间,ms
jedisPoolConfig.setMaxWaitMillis(200);
// 创建连接池的对象
jedisPool=new JedisPool(jedisPoolConfig,"192.168.10.102",6379,1000,"123456");
}
public static Jedis getJedis(){
return jedisPool.getResource();
}
}
获取jedis连接
@BeforeEach
void setUp() {
jedis=JedisConnctionConfig.getJedis();
jedis.select(0); //选择redis数据库
}