jedis的官方仓库地址:
https://github.com/redis/jedis
Redis 是一个 key-value 的数据库,key 一般是 String 类型,不过 value 的类型多种多样。
redis.clients jedis 3.7.0
建立一个单元测试:
建立jedis链接,因为我的redis没有设置密码,所以注释掉了。
@BeforeEachvoid setUp(){jedis=new Jedis("127.0.0.1",6379);
// jedis.auth("123321");jedis.select(0);}
junit测试:
@Testvoid testString(){
// 存入数据String result =jedis.set("name","小猪");System.out.println("result"+result);
// 获取数据String name = jedis.get("name");System.out.println("name = "+name);}
JUnit5 @AfterEach 注解替换了 JUnit4 中的@After注解。它用于表示应在当前类中的每个@Test方法之后执行注解方法。
@AfterEach
void tearDown(){if (jedis!=null){jedis.close();}
}
执行结果:
到RESP里检查:
RESP配置:RESP配置非常的简单:
如下:
插入一个Hash例子:
void testHash(){
// 插入hash数据jedis.hset("user:1","name","jack");jedis.hset("user:1","age", "21");
// 获取Map map= jedis.hgetAll("user:1");System.out.println(map);}
运行结果:
到RESP里查看:
Jedis基本使用步骤:
1.引入依赖
2.创建 Jedis 对象, 建立连接
3.使用 Jedis, 方法名与 Red is 命令一致
4.释放资源
Jedis 本身是线程不安全的, 并且频繁的创建和销毁连接会有性能损耗, 因此我们推荐大家使用 Jedis 连接池代替 Jedis 的直连方式。
新建立一个Jedis连接池,如下:
public class JedisConnectionFacory {private static final JedisPool jedisPool;static {
// 配置连接池JedisPoolConfig poolConfig = new JedisPoolConfig();poolConfig.setMaxTotal(8); //最大连接数poolConfig.setMaxIdle(8);//预备连接数poolConfig.setMinIdle(0);//最小连接数poolConfig.setMaxWaitMillis(1000);//等待时间
// 创建连接池对象jedisPool = new JedisPool(poolConfig,"127.0.0.1",6379,1000);}public static Jedis getJedis(){return jedisPool.getResource();}
}
最大连接数:
poolConfig.setMaxTotal(8);
预备连接数:
poolConfig.setMaxIdle(8);
最小连接数:
poolConfig.setMinIdle(0);
将上面的单元测试,连接的池改为前面的Jedis连接池。
// jedis=new Jedis("127.0.0.1",6379);jedis= JedisConnectionFacory.getJedis();
// jedis.auth("123321");jedis.select(0);
测试:没有问题。
SpringData 是 Spring 中数据操作的模块,包含对各种数据库的集成,其中对 Redis 的集成模块就叫做 SpringDataRedis
Spring Data Red is 中提供了 Red is Template 工具类, 其中封装了各种对 Red is 的操作。并且将不同数据类型的操作 API 封装到了不同的类型中:
创建一个Spring项目。如下图:
选择一个NoSQL:Redis,如下图。
如下:
SpringBoot 已经提供了对 SpringDataRedis 的支持,使用非常简单:
1.引入依赖redis:
org.springframework.boot spring-boot-starter-data-redis
2.引入common-pool依赖:
org.apache.commons commons-pool2
上一篇:八股文(五)
下一篇:【C++学习笔记】:this指针