Redis Java客户端Jedis

Redis的java客户端Jedis的使用 Redis的java客户端Jedis的使用标签(空格分隔): 未分类一、Jedis简介和使用使用Jedis提供的JavaAPI对Redis进行操作,是Redis官方推崇的方式;并且,使用Jedis提供的对Redis的支持也最为灵活、全面;不足之处,就是编码复杂度较高。 入门使用: 下载Jedis的依赖包jedis-2.1.0.jar,然后将其添加到classpath下面。然后,即可进行编程。 定义 阅读详情

Jedis介绍
      Redis不仅使用命令来操作,而且可以使用程序客户端操作。现在基本上主流的语言都有客户端支持,比如java、C、C#、C++、php、Node.js、Go等。
       在官方网站里列一些Java的客户端,有Jedis、Redisson、Jredis、JDBC-Redis、等其中官方推荐使用Jedis和Redisson。 在企业中用的最多的就是Jedis,下面我们就重点学习下Jedis。
      Jedis同样也是托管在github上,地址:https://github.com/xetorthio/jedis

添加依赖

<dependencies>
		<dependency>
			<groupId>redis.clients</groupId>
			<artifactId>jedis</artifactId>
			<version>2.9.0</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>5.0.7.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<version>5.0.7.RELEASE</version>
		</dependency>
		<!-- 单元测试Junit -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
		</dependency>
	</dependencies>
	<build>
		<plugins>
			<!-- 配置Maven的JDK编译级别 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.2</version>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
		</plugins>
	</build>

单实例连接 本地链接

连接环境检查 https://www.cnblogs.com/JimmyFanHome/p/9973516.html

主机和虚拟机互相ping测试
测试linux的指定端口
   1.在cmd下使用telnet指令,telnet ip port
   2.ip可以通,端口不行,我们去linux那边看看是不是这个端口不开放,在CentOS7中,使用netstat -lntp来查看linux的处于监听的端口,果然没有。这说明redis服务器还没起来,启动服务器
   3.这个时候,去linux的另外一个终端打开客户端连接,是可以的,但是,window下telnet ip port就是不通,程序那边也还是connect time out
  4.按照网上的方法,把bind 127.0.0.1注释掉之后,在linux的另外一个终端可以连接redis服务器,其实到这里,redis那边都可以的了,现在就是window连接linux的redis服务器不行,我们来设置一下防火墙(CentOS7),先关掉。
     查看防火墙状态:firewall-cmd --state
     停止防火墙:systemctl stop firewalld.service
     禁止防火墙开机启动:systemctl disable firewalld.service

 

	@Test
	public void testJedis() {
		// 创建一个Jedis的连接
		Jedis jedis = new Jedis("192.168.159.128", 6379);
		// 执行redis命令
		jedis.set("mytest", "hello world, this is jedis client!");
		// 从redis中取值
		String result = jedis.get("mytest");
		// 打印结果
		System.out.println(result);
		// 关闭连接
		jedis.close();
	}

连接池连接

	@Test
	public void testJedisPool() {
		// 创建一连接池对象
		JedisPool jedisPool = new JedisPool("192.168.159.128", 6379);
		// 从连接池中获得连接
		Jedis jedis = jedisPool.getResource();
		String result = jedis.get("mytest");
		System.out.println(result);
		// 关闭连接
		jedis.close();
		// 关闭连接池
		jedisPool.close();
	}

连接redis集群

创建JedisCluster类连接redis集群

@Test
	public void testJedisCluster() throws Exception {
		// 创建一连接,JedisCluster对象,在系统中是单例存在
		Set<HostAndPort> nodes = new HashSet<>();
		nodes.add(new HostAndPort("192.168.242.129", 7001));
		nodes.add(new HostAndPort("192.168.242.129", 7002));
		nodes.add(new HostAndPort("192.168.242.129", 7003));
		nodes.add(new HostAndPort("192.168.242.129", 7004));
		nodes.add(new HostAndPort("192.168.242.129", 7005));
		nodes.add(new HostAndPort("192.168.242.129", 7006));
		JedisCluster cluster = new JedisCluster(nodes);
		// 执行JedisCluster对象中的方法,方法和redis一一对应。
		cluster.set("cluster-test", "my jedis cluster test");
		String result = cluster.get("cluster-test");
		System.out.println(result);
		// 程序结束时需要关闭JedisCluster对象
		cluster.close();
	}

Jedis整合spring

配置spring配置文件applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
	<!-- 连接池配置 -->
	<bean id="jedisPoolConfig"
		class="redis.clients.jedis.JedisPoolConfig">
		<!-- 最大连接数 -->
		<property name="maxTotal" value="30" />
		<!-- 最大空闲连接数 -->
		<property name="maxIdle" value="10" />
		<!-- 每次释放连接的最大数目 -->
		<property name="numTestsPerEvictionRun" value="1024" />
		<!-- 释放连接的扫描间隔(毫秒) -->
		<property name="timeBetweenEvictionRunsMillis" value="30000" />
		<!-- 连接最小空闲时间 -->
		<property name="minEvictableIdleTimeMillis" value="1800000" />
		<!-- 连接空闲多久后释放, 当空闲时间>该值 且 空闲连接>最大空闲连接数 时直接释放 -->
		<property name="softMinEvictableIdleTimeMillis" value="10000" />
		<!-- 获取连接时的最大等待毫秒数,小于零:阻塞不确定的时间,默认-1 -->
		<property name="maxWaitMillis" value="1500" />
		<!-- 在获取连接的时候检查有效性, 默认false -->
		<property name="testOnBorrow" value="true" />
		<!-- 在空闲时检查有效性, 默认false -->
		<property name="testWhileIdle" value="true" />
		<!-- 连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true -->
		<property name="blockWhenExhausted" value="false" />
	</bean>
	<!-- redis单机 通过连接池 -->
	<bean id="jedisPool" class="redis.clients.jedis.JedisPool"
		destroy-method="close">
		<constructor-arg name="poolConfig"
			ref="jedisPoolConfig" />
		<constructor-arg name="host" value="192.168.159.128" />
		<constructor-arg name="port" value="6379" />
	</bean>
	<!-- redis集群 -->
	<bean id="jedisCluster" class="redis.clients.jedis.JedisCluster">
		<constructor-arg index="0">
			<set>
				<bean class="redis.clients.jedis.HostAndPort">
					<constructor-arg index="0" value="192.168.159.128" />
					<constructor-arg index="1" value="7001" />
				</bean>
				<bean class="redis.clients.jedis.HostAndPort">
					<constructor-arg index="0" value="192.168.159.128" />
					<constructor-arg index="1" value="7002" />
				</bean>
				<bean class="redis.clients.jedis.HostAndPort">
					<constructor-arg index="0" value="192.168.159.128" />
					<constructor-arg index="1" value="7003" />
				</bean>
				<bean class="redis.clients.jedis.HostAndPort">
					<constructor-arg index="0" value="192.168.159.128" />
					<constructor-arg index="1" value="7004" />
				</bean>
				<bean class="redis.clients.jedis.HostAndPort">
					<constructor-arg index="0" value="192.168.159.128" />
					<constructor-arg index="1" value="7005" />
				</bean>
				<bean class="redis.clients.jedis.HostAndPort">
					<constructor-arg index="0" value="192.168.159.128" />
					<constructor-arg index="1" value="7006" />
				</bean>
			</set>
		</constructor-arg>
		<constructor-arg index="1" ref="jedisPoolConfig"></constructor-arg>
	</bean>
</beans>

测试代码

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:/applicationContext.xml")
public class TestJedis2 {

	@Autowired
	private JedisPool jedisPool;
	@Resource
	private JedisCluster cluster;

	@Test
	public void testJedisPool() {
		// 从连接池中获得连接
		Jedis jedis = jedisPool.getResource();
		String result = jedis.get("mytest");
		System.out.println(result);
		// 关闭连接
		jedis.close();
	}

	@Test
	public void testJedisCluster() throws Exception {
		//redis集群
		// 执行JedisCluster对象中的方法,方法和redis一一对应。
		cluster.set("cluster-test", "my jedis cluster test");
		String result = cluster.get("cluster-test");
		System.out.println(result);
	}
}

 

jedis 2.9.0 API、jar包、source 最新的jedis的jar包,doc文档api,source源代码; jedis2.9.0;redis使用最广泛的Java客户端。 立即下载

相关推荐

jedis-2.9.jar

官网下载的jar包。之前用的2.0版的,最近需要使用redis的geo指令,只能升级。一开始来csdn下载,太贵。 在官网找了一个,赚点搬运费

redis的info命令

欢迎关注今日头条号、微信公众号、知乎号:仰望夜空一万次 随意聊聊并记录从小城市到上海工作生活的所思所想。 不去记录,有些事情都好像没有发生过。 可以通过传入可选的section,指定想要查看的信息。 bash> info clients # Clients connected_clients:95 client_longest_output_list:0 client_biggest_input_buf:0 blocked_clients:0 指定的section可为: ser...

forrest420的专栏 389

jedis 2.9 jar包括源代码及common-pool

jedis 2.9jar包括源代码及common-pool 下面是官方地址,不用积分: https://github.com/xetorthio/jedis http://mvnrepository.com/artifact/redis.clients/jedis/2.9.0

Redis的Python客户端redis-py

1. 安装 1. redis-py         a. 使用easy_install sudo easy_install redis         b. 源码安装git clone https://github.com/andymccurdy/redis-py.git cd redis-py python setup.py install 2. Parser安装

架构师专栏 5万+

如何在R中高效安装ropls及其依赖包

本文详细介绍了在R语言中高效安装ropls包及其依赖的完整流程。作为Bioconductor生物信息学分析包,ropls的安装需通过BiocManager管理器进行。文章提供了标准安装步骤、跨系统避坑指南及安装后验证方法,帮助用户解决R版本、编译环境和网络镜像等常见问题,确保代谢组学数据分析工具顺利部署。

efc123456的博客 908

SORT算法在遮挡下总跟丢?深入OC-SORT源码,拆解其三大创新点如何解决卡尔曼滤波的顽疾

本文深入解析OC-SORT算法如何通过三大创新点解决多目标跟踪中的卡尔曼滤波顽疾。OC-SORT引入在线平滑虚拟轨迹技术(OOS)、观测中心动量匹配机制(OCM)和基于最后观测的轨迹恢复(OCR),显著提升了遮挡场景下的跟踪性能。实验数据显示,相比传统SORT算法,OC-SORT在MOT17数据集上MOTA提升5.7%,遮挡恢复成功率提高64.2%,为Multi-Object Tracking领域带来突破性进展。

weixin_42547431的博客 240

20210609 redis中info命令使用

info命令使用总结 一,info Server 包含了Redis服务本身的一些信息,例如版本号、运行模式、操作系统的版本、TCP端口等。

陈如水的专栏 3017

ControlCAN.dll开发适配USBCAN_E/2E_U设备

摘要:本文提供了USBCAN_E/2E_U设备的配置指南:1)安装专用驱动;2)获取最新的ControlCAN.dll文件;3)修改VCI调用顺序,新增VCI_SetReference函数设置波特率;4)使用工具计算波特率配置值,并给出了常见波特率对应的代码参考值(如500K对应0x060007)。配置过程强调使用特定工具计算精确的波特率参数,并提供了相关软件下载链接。

weixin_43969033的博客 387

Springboot 通过Jedis-clients 操作Redis

       Springboot中整合了Redis(Springboot2.0  spring-boot-starter-data-redis)可直接使用RedisTemplate进行数据操作。出于学习的目的,加深对Redis配置及其数据操作的理解,本项目采用redis原生API(引入redis.clients--Jedis)进行有关redis操作的实现。采用Redis缓存物联网信号[二进制bi...

satan91的博客 5666

renderdoc的使用

renderdoc可以用来捕获帧渲染情况,排查一些GPU渲染、资源规格等问题。 下面讲述一些该软件连接真机调试使用。 一、下载安装renderdoc 软件的下载地址:https://renderdoc.org/可直接点击下载即可。该软件是开源免费的,不用破解。 下载后直接安装即可使用。 二、打开使用renderdoc 打开界面后,默认的界面布局如下图所示,(这里我已经设置了黑色主题,可以忽略这点),renderdo中主要的窗口有Texture Viewer(纹理查看器)、Event B.

x_xingduo_2315的博客 2万+

解决linux 2.5G网卡驱动问题

解决linux 2.5G网卡驱动问题 关键词:2.5G网卡驱动,ubuntu,安装,2.5G Ethernet LINUX driver,Realtek网卡驱动 由于2.5G网卡较新,各linux发行版的通用驱动已不适用,新装的系统会出现无法上网问题,由于国内网络环境去Realtek官网很难下载到驱动文件,故本文提供github上的2.5G Ethernet LINUX driver r8125 for kernel up to 5.6的版本驱动文件r8125-9.003.05.tar.bz2各位可以自

poorguy_aos的博客 1万+

ShardedJedis 2.9.3版本高并发下连接池没有回收 Could not get a resource from the pool

一、问题描述 Jedis version: 2.9.3 (问题版本) 压测代码片段: // 初始化 ShardedJedisPool createShardedPool = new ShardedJedisPool(this.jedisPoolConfig, this.jedisShardInfos); // 遍历get方法 ShardedJedis jedis = null try { jedis = createShardedPool.getConnection(); jedis.g

kekefisht的专栏 3243

保姆级教程:手把手配置MAX9295/9296 GMSL2-CSI2链路,搞定4LAN/1LAN模式与常见调试

本文提供MAX9295/9296 GMSL2-CSI2链路的详细配置教程,涵盖4LAN和1LAN模式的硬件连接、寄存器配置及调试技巧。通过实战案例和代码示例,帮助开发者快速实现高带宽视频传输,解决常见问题如信号同步和功耗优化,适用于车载摄像头和机器人视觉系统开发。

weixin_42561143的博客 434

Redis Java 客户端 之 Jedis

Jedis是Redis的Java客户端,本文提供了Jedis的快速入门案例以及Jedis连接池的配置方法。文末附录了SLF4J的日志实现以解决StaticLoggerBinder警告问题。

专注于优雅与性能的未来架构师 879

国科大学习资料--高级软件工程-复习题选择题答案

国科大学习资料–高级软件工程(罗铁坚 魏峻 刘丹)-复习题选择题答案 ’‘

无名何许人的博客 1165

Q3D提取PCB走线RLCG参数

介绍一种提取PCB走线寄生电容和寄生电感的方法

sinat_15150363的博客 2917

Java 连接Redis客户端 Jedis

Java 连接Redis客户端 Jedis 1.首先找到找到 jedis 的jar 包 点击这里 这里我用的是这个 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.0.1&lt...

weixin_30456039的博客 107

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Redis java客户端Jedis

Redis下一小节:4-1 Redis Java客户端 Redis java客户端Jedis 获取Jedis Jedis基本使用 Jedis连接池使用 1、Jedis是什么? redis-cli官方提供的客户端: 可以看成shell的java客户端: Jedis操作: Jedis操作其实就是java操作: 2、Jedis Maven依赖包 3、Jedis直连...

泷泷养的乔小胖 677

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Redis5:Redis的Java客户端——Jedis与SpringDataRedis详解

我们看set方法我们发现他接受的并不是字符串,它可以接收任何类型的对象,然后转换成redis可以处理的字节(JDK的序列化工具ObjectOutputStream)再写入redis。为了节省内存空间,我们并不会使用JSON序列化器来处理value,而是统一使用String序列化器,要求只能存储String类型的key和value。SpringData是Spring中数据操作的模块,包含对各种数据库的集成,其中对Redis的集成模块就叫做SpringDataRedis,,其中封装了各种对Redis的操作。

2301_78566776的博客 1232

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

1.4 Redis的Java客户端-Jedis

1) JedisConnectionFacotry:工厂设计模式是实际开发中非常常用的一种设计模式,我们可以使用工厂,去降低代的耦合,比如Spring中的Bean的创建,就用到了工厂设计模式。有关池化思想,并不仅仅是这里会使用,很多地方都有,比如说我们的数据库连接池,比如我们tomcat中的线程池,这些都是池化思想的体现。2)静态代码块:随着类的加载而加载,确保只能执行一次,我们在加载当前工厂类的时候,就可以执行static的操作完成对 连接池的初始化。3)最后提供返回连接池中连接的方法.

云生的博客 739

Redis的JAVA客户端-Jedis

在Jedis代码中设置的密码必须与Redis配置文件中设置的密码。Jedis密码就是你的。

KRADDDD的博客 340

Redis第2讲——Java三种客户端(Jedis、Lettuce和Redisson)

上篇文章介绍了Redis的9种数据类型和常命令、7种数据结构和9种编码方式。但是如果想要把它应用到项目中,我们还需要一个redis的客户端。redis的Java客户端种类还是很多的,其中使用最广泛的有三种——Jedis、lettuce和redisson,下面我们一起来学习下。基于redis开放的通信协议,大神们纷纷开发出了各种语言的redis客户端,包括C、C++、C#、D、java、Python、Ruby等50多种,这些客户端都是基于redis命令做了一层封装,并打包成工具,以便更方便地操作redis。

让~学习~成为一种习惯(橡 皮 人の技术博客) 6550

Java Redis 客户端 - Jedis 快速入门

Jedis是Redis官方推荐的Java客户端,提供了简洁易用的API来操作Redis数据库。本文介绍了Jedis的快速入门指南:首先通过Maven引入依赖,然后建立连接并演示基础操作(set/get命令),最后强调连接关闭的重要性。针对生产环境,推荐使用Jedis连接池(JedisPool)来提升性能和线程安全性,并提供了连接池配置参数建议及工具类实现。通过合理配置连接池参数,可以优化Redis连接管理,确保高并发场景下的稳定性和性能表现。

大河之犬的博客 456

主流Java Redis客户端对决:Jedis、Lettuce与Redisson性能特性深度评测

微秒级读写性能:基于内存操作与单线程模型丰富的数据结构:String/List/Hash/Set/ZSet等,支持原子性操作典型应用场景包括:缓存加速(商品详情页缓存)分布式锁(基于SETNX命令)消息队列(通过List的LPUSH/BRPOP实现)// 典型Redis缓存使用示例版本适配建议Redis 6+优先选择Lettuce(支持RESP3协议)混合使用场景基础操作用Lettuce + 分布式功能用Redisson终极建议中小项目:Jedis。

ztt123654的博客 1118

Redis 的 Java 客户端的详细介绍(Jedis,SpringDataRedis,RedisTemplated,StringRedisTemplated)

Java Redis客户端对比与使用指南 本文介绍了Java中三种主流Redis客户端的特点和使用方法: Jedis:轻量级同步客户端,API与Redis原生命令一致,但线程不安全,需配合连接池使用 SpringDataRedis:Spring生态的集成框架,提供统一RedisTemplate API,简化操作但默认序列化方式存在不足 Lettuce:基于Netty的异步线程安全客户端(文中简要提及) 重点分析了Jedis的连接池配置和SpringDataRedis的序列化优化方案,并提供了具体代码示例。针

qq_75103498的博客 787

使用Redis的Java客户端Jedis

转载自:http://aofengblog.blog.163.com/blog/static/631702120147298317919/ 前一篇文章《Redis命令指南》讲解了通过命令行的方式执行Key=>的存储操作,在实际的项目开发中,各种语言是使用Redis的客户端库来与Redis交互。针对Java语言,Redis官方推荐Jedis。 Jedis提供了多种操作方式:...

L1406566905的博客 181
上一篇: Redis学习
下一篇: Redis数据类型
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仰望星空@脚踏实地

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值