Redis的Java客户端之Jedis(Jedis)
文章目录
- 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)相关推荐
- Redis(四) - Redis的Java客户端
文章目录 一.Redis的Java客户端 二.Jedis客户端 1. 快速入门 (1)引入依赖 (2)创建jedis对象,建立连接 (3)测试,方法名与Redis命令一致 (4)释放资源 2. Jed ...
- Redis介绍 Java客户端操作Redis
Redis介绍 && Java客户端操作Redis 本文内容 redis介绍 redis的 shell 客户端简介 redis的 java 客户端简介 环境配置 redis 2.8.1 ...
- Redis介绍 Java客户端操作Redis
分享一下我老师大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow Redis介绍 & ...
- Redis 高级 Java 客户端 Lettuce 的用法及踩坑经验
如果你在网上搜索 Redis 的 Java 客户端,你会发现,大多数文献介绍的都是 Jedis,不可否认,Jedis 是一个优秀的基于 Java 语言的 Redis 客户端,但是,其不足也很明显:Je ...
- Redis的Java客户端-Java客户端以及SpringDataRedis的介绍与使用
1. Redis的Java客户端 Spring Data Redis底层支持同时兼容Jedis和Lettuce两种不同的Redis客户端,可以根据需要任意选择使用其中的一种.这样既可以保留现有代码使用 ...
- Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式…)介绍(转)
[-] 一普通同步方式 二事务方式Transactions 三管道Pipelining 四管道中调用事务 五分布式直连同步调用 六分布式直连异步调用 七分布式连接池同步调用 八分布式连接池异步调用 九 ...
- Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式…)介绍--转载
原文地址:http://www.blogways.net/blog/2013/06/02/jedis-demo.html redis是一个著名的key-value存储系统,而作为其官方推荐的java版 ...
- Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式)介绍
一.普通同步方式 二.事务方式(Transactions) 三.管道(Pipelining) 四.管道中调用事务 五.分布式直连同步调用 六.分布式直连异步调用 七.分布式连接池同步调用 八.分布式连 ...
- redis的Java客户端:Jedis的使用及JedisPool的配置优化
Jedis的方法,方法命跟redis命令行客户端几乎一样,参数及参数顺序以跟redis命令行客户端几乎一样. 这里不一一介绍,直接Jedis. 会有提示. pom.xml <?xml versi ...
最新文章
- Web 数据存储总结
- ORACLE锁学习总结
- 山特UPS电源三种工作模式解析
- postman 设置请求编码_Postman使用
- 一人之力,毁掉一个开发者活动
- BZOJ4818 [SDOI2017] 序列计数 【矩阵快速幂】
- PowerShell【变量篇】
- 大话Fragment管理
- 20179301《网络攻防实践》第九周作业
- 错误:Failed to start component [StandardEngine[Catalina].StandardHost[local
- 为什么你说的话别人不愿意听?
- 基于Arduino的雨滴传感器
- 汉字转拼音(同音异形)-工具
- java开发常用chrome插件下载地址,开发者常用的十款Chrome插件
- 在阿里云轻量应用服务器上安装爱快软路由
- MySQL DBA 必读:万字归总表设计与 SQL 编写技巧
- windows下 MikTex的安装和初步使用
- 【学习小记】狄利克雷卷积+杜教筛
- android 程序后台运行,定时刷新,像qq那样,即使程序不启动也照样运行
- css 导航栏下划线跟随效果,默认第一个li为选中状态