jedis简介
jedis是Redis的java客户端库,为java开发者提供了与redis服务器进行通信的便捷方式。
常见的java客户端库有:Jedis,Lettuce,Redisson。
在IDEA中使用jedis的步骤
1、导包
创建一个maven类型文件
在pom.xml中添加包
<dependencies>
<!--jedis-->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.7.0</version>
<scope>compile</scope>
</dependency>
<!--单元测试类-->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.7.0</version>
<scope>test</scope>
</dependency>
</dependencies>
2、然后新建一个test类
先建立连接,然后存入数据,最后要记着关
package com.heima.test;
import org.junit.jupiter.api.AfterAll;
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
void setUp(){
//1、建立连接
jedis = new Jedis("192.168.152.128",6379);
//2、设置密码,我没设置密码,设置了密码需要填写
// jedis.auth("");
//3、选择库
jedis.select(0);
}
@Test
void testString(){
//存入数据
String result = jedis.set("name","老王");
System.out.println("result = " + result);
//获取数据
String name = jedis.get("name");
System.out.println("name = "+ name);
}
@Test
void testHash(){
//插入哈希
jedis.hset("user:1","name","Jack");
jedis.hset("user:1","age","22");
Map<String,String> map = jedis.hgetAll("user:1");
System.out.println(map);
}
//关
@AfterEach
void tearDown(){
if(jedis != null){
jedis.close();
}
}
}
jedis连接池
jedis本身是线程不安全的,频繁的创建和销毁连接会损耗jedis的性能,因此建议采用jedis连接池代替jedis直连。
创建连接池:jedisConnectionFactory
package com.heima.jedis.util;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public class jedisConnectionFactory {
private static final JedisPool jedisPool;
//用静态代码块完成对jedis对象的初始化
static{
//配置连接池
JedisPoolConfig poolConfig = new JedisPoolConfig();
//最大连接数
poolConfig.setMaxTotal(8);
//最大空闲连接,最多有8个空闲的连接
poolConfig.setMaxIdle(8);
//最小空闲连接,当没有连接是就会逐渐释放连接直到为0
poolConfig.setMinIdle(0);
//最长等待时长,如果没有空闲连接,最多等待1000毫秒,没有连接释放就报错。默认是-1,也就是一直等。
poolConfig.setMaxWaitMillis(1000);
//创建连接池对象
jedisPool = new JedisPool(poolConfig,"192.168.152.128",6379,1000);
}
public static Jedis getJedis(){
return jedisPool.getResource();
}
}
在jedistest中把获得连接的方式一改
ok,可以运行了
Spring Data Reids
Spring Data里面封装了很多对数据库的操作,其中Spring Data Reids就是Spring对redis的操作。
SpringData是Spring中数据操作的模块,包含对各种数据库的集成,其中对Redis的集成模块就叫做SpringDataRedis,
特点:
提供了对不同Redis客户端的整合(Lettuce和Jedis )
提供了RedisTemplate统一APl来操作Redis
支持Redis的发布订阅模型
支持Redis哨兵和Redis集群
支持基于Lettuce的响应式编程
支持基于JDK、JSON、字符串、Spring对象的数据序列化及反序列化
支持基于Redis的JDKCollection实现
在jedis中提供了ReidsTemplate工具类,其中封装了各种对Redis的操作。并且将不同数据类型的操作API封装到了不同的类型中。
这样对reids的操作进行封装,提高了redis的可读性,减少了redis代码的臃肿程度。
API | 返回值类型 | 说明 |
redisTemplate.opsForValue() | Value0perations | 操作String类型数据 |
redisTemplate.opsForHash() | HashOperations | 操作Hash类型数据 |
redisTemplate.opsForList() | List0perations | 操作List类型数据 |
redisTemplate.opsForSet() | setoperations | 操作Set类型数据 |
redisTemplate.opsForZSet() | zSetoperations | 操作SortedSet类型数据 |
redisTemplate | 通用的命令 |
使用步骤:
1、引入依赖(两个)
<!--Redis依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</ artifactId>
</ dependency>
<!--连接池依赖-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
2、配置redis的地址信息
如果报错说被弃用,则换一个其他(更高版本的试一下),注意格式,空格
标签:Redis,redis,Jedis,org,jedis,import From: https://blog.csdn.net/qq_64669006/article/details/140616102