Redis 的Java客户端 您所在的位置:网站首页 redis连接池参数 Redis 的Java客户端

Redis 的Java客户端

#Redis 的Java客户端| 来源: 网络整理| 查看: 265

一.Redis 的Java客户端

jedis的官方仓库地址:

https://github.com/redis/jedis Redis 数据结构

Redis 是一个 key-value 的数据库,key 一般是 String 类型,不过 value 的类型多种多样。

image-20230305154224080

1.1 引入Redis依赖 redis.clients jedis 3.7.0

建立一个单元测试: image-20230308095245687

建立jedis链接,因为我的redis没有设置密码,所以注释掉了。

@BeforeEach void setUp(){ jedis=new Jedis("127.0.0.1",6379); // jedis.auth("123321"); jedis.select(0); }

junit测试:

@Test void 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(); } }

执行结果:

image-20230308095552472

到RESP里检查:

image-20230308095606586

RESP配置:RESP配置非常的简单:

如下:

image-20230308095654463

1.2 Hash例子

插入一个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); }

运行结果:

image-20230308104731045

到RESP里查看:

image-20230308104755953

1.3 Redis使用步骤总结

Jedis基本使用步骤:

1.引入依赖

2.创建 Jedis 对象, 建立连接

3.使用 Jedis, 方法名与 Red is 命令一致

4.释放资源

二.Jedis连接池

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

新建立一个Jedis连接池,如下:

image-20230308122128390

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);

测试:没有问题。

image-20230308122846945

1.2 SpringDataRedis

SpringData 是 Spring 中数据操作的模块,包含对各种数据库的集成,其中对 Redis 的集成模块就叫做 SpringDataRedis

提供了对不同 Redis 客户端的整合(Lettuce 和 edis) 提供了 RedisTemplate 统一 API 来操作 Redis 支持 Redis 的发布订阅模型 支持 Redis 哨兵和 Redis 集群 支持基于 Lettuce 的响应式编程 支持基于 JDK、JSON、字符串、Spring 对象的数据序列化及反序列化 支持基于 Redis 的 DKCollection 实现

Spring Data Red is 中提供了 Red is Template 工具类, 其中封装了各种对 Red is 的操作。并且将不同数据类型的操作 API 封装到了不同的类型中:

image-20230308123451493

1.2.1 创建一个新的项目

创建一个Spring项目。如下图:

image-20230308191729141

选择一个NoSQL:Redis,如下图。

image-20230308192112915

如下:

image-20230308194530682

SpringBoot 已经提供了对 SpringDataRedis 的支持,使用非常简单:

1.引入依赖redis:

org.springframework.boot spring-boot-starter-data-redis

2.引入common-pool依赖:

org.apache.commons commons-pool2


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有