文章目录

  • Redis的Java客户端(Jedis)
    • 一、简介
    • 二、Jedis快速入门
      • 1、引入依赖
      • 2、建立连接
      • 3、使用Jedis
      • 4、释放资源
    • 三、Jedis连接池
      • 1、创建Jedis连接池配置
      • 2、调用Jedis连接池
    • 四、步骤整合
      • 1、引入依赖
      • 2、创建Jedis连接池类
      • 3、创建Jedis操作类

Redis的Java客户端(Jedis)

一、简介

  • Spring Data Redis:Jedis 以Redis命令作为方法名称,学习成本低,简单实用。但是Jedis实例是线程不安全的,多线程环境下需要基于连接池来使用。

  • Jedis官网:https://github.com/redis/jedis

二、Jedis快速入门

1、引入依赖

<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>4.2.0</version>
</dependency>

2、建立连接

package com.sgz.jedis;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;public class JedisTest {private Jedis jedis;// 2、建立连接@BeforeEachvoid setUp() {// 1、建立连接jedis = new Jedis("192.168.8.137", 6379);// 2、设置密码jedis.auth("123123");// 3、选择库jedis.select(0);}
}

3、使用Jedis

    // 3、使用Jedis,测试String@Testvoid testString(){// 插入数据String result = jedis.set("name", "小李");System.out.println("result = "+ result); // 返回 OK,插入成功// 获取数据String name = jedis.get("name");System.out.println("name = "+ name);}// 3、使用Jedis,测试 Hash@Testvoid testHash() {// 插入数据long hset = jedis.hset("student:1", "name", "Jack");long age = jedis.hset("student:1", "age", "21");System.out.println(  "hset = " + hset); // 返回1插入成功System.out.println(  "age = " + age);   // 返回1插入成功// 获取数据Map<String, String> map = jedis.hgetAll("student:1");System.out.println("map = " + map);}

4、释放资源

    // 4、释放资源@AfterEachvoid testDown(){if (jedis != null){jedis.close();}}

三、Jedis连接池

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

1、创建Jedis连接池配置

package com.sgz.jedis.util;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;public class JedisConnectionFactory {private static final JedisPool JEDIS_POOL;static {JedisPoolConfig poolConfig = new JedisPoolConfig();  // 配置连接池poolConfig.setMaxTotal(8);  // 最大连接poolConfig.setMaxIdle(8);   // 最大空闲连接poolConfig.setMinIdle(0);   // 最小空闲连接poolConfig.setMaxWaitMillis(1000);  // 设置最长等待时间,msJEDIS_POOL = new JedisPool(poolConfig,"192.168.246.128",6379,1000,"123123",0); // 创建连接池对象}// 获取Jedis对象public static Jedis getJedis(){return JEDIS_POOL.getResource();}
}

2、调用Jedis连接池

package com.sgz.jedis;import com.sgz.jedis.util.JedisConnectionFactory;
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;// 2、建立连接@BeforeEachvoid setUp() {// 从池子里获取连接jedis = JedisConnectionFactory.getJedis();}// 3、使用Jedis,测试String@Testvoid testString(){// 插入数据String result = jedis.set("name", "小李");System.out.println("result = "+ result); // 返回 OK,插入成功// 获取数据String name = jedis.get("name");System.out.println("name = "+ name);}// 3、使用Jedis,测试 Hash@Testvoid testHash() {// 插入数据long hset = jedis.hset("student:1", "name", "Jack");long age = jedis.hset("student:1", "age", "21");System.out.println(  "hset = " + hset); // 返回1插入成功System.out.println(  "age = " + age);   // 返回1插入成功// 获取数据Map<String, String> map = jedis.hgetAll("student:1");System.out.println("map = " + map);}// 4、释放 资源@AfterEachvoid  testDown(){if (jedis != null){jedis.close();}}
}

四、步骤整合

1、引入依赖

<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>4.2.0</version>
</dependency>

2、创建Jedis连接池类

package com.sgz.jedis.util;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;public class JedisConnectionFactory {private static final JedisPool JEDIS_POOL;static {JedisPoolConfig poolConfig = new JedisPoolConfig();  // 配置连接池poolConfig.setMaxTotal(8);  // 最大连接poolConfig.setMaxIdle(8);   // 最大空闲连接poolConfig.setMinIdle(0);   // 最小空闲连接poolConfig.setMaxWaitMillis(1000);  // 设置最长等待时间,msJEDIS_POOL = new JedisPool(poolConfig,"192.168.246.128",6379,1000,"123123",0); // 创建连接池对象}// 获取Jedis对象public static Jedis getJedis(){return JEDIS_POOL.getResource();}
}

3、创建Jedis操作类

package com.sgz.jedis;import com.sgz.jedis.util.JedisConnectionFactory;
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;// 建立连接@BeforeEachvoid setUp() {// 从池子里获取连接jedis = JedisConnectionFactory.getJedis();}// 3、使用Jedis,测试String@Testvoid testString(){// 插入数据String result = jedis.set("name", "小李");System.out.println("result = "+ result);   // 返回 OK,插入成功// 获取数据String name = jedis.get("name");System.out.println("name = "+ name);}// 3、使用Jedis,测试 Hash@Testvoid testHash() {// 插入数据long hset = jedis.hset("student:1", "name", "Jack");long age = jedis.hset("student:1", "age", "21");System.out.println(  "hset = " + hset); // 返回1插入成功System.out.println(  "age = " + age);   // 返回1插入成功// 获取数据Map<String, String> map = jedis.hgetAll("student:1");System.out.println("map = " + map);}// 4、释放 资源@AfterEachvoid  testDown(){if (jedis != null){jedis.close();}}
}

Redis的Java客户端之Jedis(Jedis)相关推荐

  1. Redis(四) - Redis的Java客户端

    文章目录 一.Redis的Java客户端 二.Jedis客户端 1. 快速入门 (1)引入依赖 (2)创建jedis对象,建立连接 (3)测试,方法名与Redis命令一致 (4)释放资源 2. Jed ...

  2. Redis介绍 Java客户端操作Redis

    Redis介绍 && Java客户端操作Redis 本文内容 redis介绍 redis的 shell 客户端简介 redis的 java 客户端简介 环境配置 redis 2.8.1 ...

  3. Redis介绍 Java客户端操作Redis

    分享一下我老师大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow Redis介绍 & ...

  4. Redis 高级 Java 客户端 Lettuce 的用法及踩坑经验

    如果你在网上搜索 Redis 的 Java 客户端,你会发现,大多数文献介绍的都是 Jedis,不可否认,Jedis 是一个优秀的基于 Java 语言的 Redis 客户端,但是,其不足也很明显:Je ...

  5. Redis的Java客户端-Java客户端以及SpringDataRedis的介绍与使用

    1. Redis的Java客户端 Spring Data Redis底层支持同时兼容Jedis和Lettuce两种不同的Redis客户端,可以根据需要任意选择使用其中的一种.这样既可以保留现有代码使用 ...

  6. Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式…)介绍(转)

    [-] 一普通同步方式 二事务方式Transactions 三管道Pipelining 四管道中调用事务 五分布式直连同步调用 六分布式直连异步调用 七分布式连接池同步调用 八分布式连接池异步调用 九 ...

  7. Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式…)介绍--转载

    原文地址:http://www.blogways.net/blog/2013/06/02/jedis-demo.html redis是一个著名的key-value存储系统,而作为其官方推荐的java版 ...

  8. Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式)介绍

    一.普通同步方式 二.事务方式(Transactions) 三.管道(Pipelining) 四.管道中调用事务 五.分布式直连同步调用 六.分布式直连异步调用 七.分布式连接池同步调用 八.分布式连 ...

  9. redis的Java客户端:Jedis的使用及JedisPool的配置优化

    Jedis的方法,方法命跟redis命令行客户端几乎一样,参数及参数顺序以跟redis命令行客户端几乎一样. 这里不一一介绍,直接Jedis. 会有提示. pom.xml <?xml versi ...

最新文章

  1. Web 数据存储总结
  2. ORACLE锁学习总结
  3. 山特UPS电源三种工作模式解析
  4. postman 设置请求编码_Postman使用
  5. 一人之力,毁掉一个开发者活动
  6. BZOJ4818 [SDOI2017] 序列计数 【矩阵快速幂】
  7. PowerShell【变量篇】
  8. 大话Fragment管理
  9. 20179301《网络攻防实践》第九周作业
  10. 错误:Failed to start component [StandardEngine[Catalina].StandardHost[local
  11. 为什么你说的话别人不愿意听?
  12. 基于Arduino的雨滴传感器
  13. 汉字转拼音(同音异形)-工具
  14. java开发常用chrome插件下载地址,开发者常用的十款Chrome插件
  15. 在阿里云轻量应用服务器上安装爱快软路由
  16. MySQL DBA 必读:万字归总表设计与 SQL 编写技巧
  17. windows下 MikTex的安装和初步使用
  18. 【学习小记】狄利克雷卷积+杜教筛
  19. android 程序后台运行,定时刷新,像qq那样,即使程序不启动也照样运行
  20. css 导航栏下划线跟随效果,默认第一个li为选中状态

热门文章

  1. python自动登录校园网_python实现校园网一键自动连接
  2. PostgreSQL 14 pageinspect新增gist索引支持
  3. EtherCAT通讯简介
  4. 【Android安全】Soot 静态分析教程
  5. 绪论——信息理论学与量子信息学
  6. 四平方和定理(拉格朗日定理)
  7. vue-admin-实现登出功能
  8. android字体带下划线
  9. java中输出语句println()和print()的区别
  10. 计算机视觉学习1-图像处理