当前位置: 首页 > news >正文

Redis基础篇-004 Redis的Java客户端

Redis客户端分为三类:

  • 命令行客户端
  • 图形化桌面客户端
  • 编程客户端(java客户端)

redis可视化工具和客户端

1、 Jedis快速入门

Jedis的官网地址: https://github.com/redis/jedis

1.1 新建一个Maven工程并引入以下依赖

<!--引入Jedis依赖-->
<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>4.2.0</version>
</dependency><!--引入单元测试依赖-->
<dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><version>5.8.2</version><scope>test</scope>
</dependency>

1.2  编写测试类并与Redis建立连接

private Jedis jedis;@BeforeEach //被该注解修饰的方法每次执行其他方法前自动执行
void setUp(){// 1. 获取连接jedis = new Jedis("192.168.230.88",6379);// 2. 设置密码jedis.auth("132537");// 3. 选择库(默认是下标为0的库)jedis.select(0);
}

1.3 编写一个操作数据的方法(这里以操作String类型为例)

@Test
public void testString(){// 1.往redis中存放一条String类型的数据并获取返回结果String result = jedis.set("url", "https://www.oz6.cn");System.out.println("result = " + result);// 2.从redis中获取一条数据String url = jedis.get("url");System.out.println("url = " + url);
}

1.4 编写一个释放资源的方法

    @AfterEach //被该注解修饰的方法会在每次执行其他方法后执行void tearDown(){// 1.释放资源if (jedis != null){jedis.close();}}

1.5 执行testString()方法后测试结果如图所示

2、Jedis连接池

3、SpringDataRedis介绍

4、SpringDataRedis快速入门

5、RedisSerializer配置

6、StringRedisTemplate

7、总结

RedisTemplate的两种序列化实践方案,两种方案各有各的优缺点,可以根据实际情况选择使用。

7.1 方案一

  1. 自定义RedisTemplate
  2. 修改RedisTemplate的序列化器为GenericJackson2JsonRedisSerializer

7.2 方案二

  1. 使用StringRedisTemplate
  2. 写入Redis时,手动把对象序列化为JSON
  3. 读取Redis时,手动把读取到的JSON反序列化为对象

相关文章:

Redis基础篇-004 Redis的Java客户端

Redis客户端分为三类&#xff1a; 命令行客户端图形化桌面客户端编程客户端&#xff08;java客户端&#xff09; redis可视化工具和客户端 1、 Jedis快速入门 Jedis的官网地址&#xff1a; https://github.com/redis/jedis 1.1 新建一个Maven工程并引入以下依赖 <!--引入…...

【数据结构和算法】---栈和队列的互相实现

目录 一、用栈实现队列1.1初始化队列1.2模拟入队列1.3模拟出队列1.4取模拟的队列头元素1.5判断队列是否为空 二、用队列实现栈2.1初始化栈2.2模拟出栈2.3模拟入栈2.4取模拟的栈顶元素2.5判读栈是否为空 一、用栈实现队列 具体题目可以参考LeetCode232. 用栈实现队列 首先要想到…...

机场信息集成系统系列介绍(6):机场协同决策支持系统ACDM

目录 一、背景介绍 1、机场协同决策支持系统是什么&#xff1f; 2、发展历程 3、机场协同决策参与方 4、相关定义 二、机场协同决策ACDM的建设目标 &#xff08;一&#xff09;机场协同决策支持系统的宏观目标 1、实现运行数据共享和前序航班信息透明化 2、实现地面资源…...

GO设计模式——17、解释器模式(行为型)

目录 解释器模式&#xff08;Interpreter Pattern&#xff09; 解释器模式的核心角色&#xff1a; 优缺点 代码实现 解释器模式&#xff08;Interpreter Pattern&#xff09; 解释器模式&#xff08;Interpreter Pattern&#xff09;提供了评估语言的语法或表达式的方式&am…...

基于SSM的大学生兼职平台的设计与实现

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于SSM的大学生兼职平台的设计与实现,j…...

Ignite内存配置

配置内存 #1.内存架构 #1.1.概述 Ignite内存架构通过可以同时在内存和磁盘上存储和处理数据及索引&#xff0c;得到了支持磁盘持久化的内存级性能。 多层存储的运行方式类似于操作系统&#xff08;例如Linux&#xff09;的虚拟内存。但是这两种类型架构之间的主要区别是&…...

前端基础vue路由懒加载

为什么用路由懒加载 首屏组件加载速度更快一些&#xff0c;解决白屏问题&#xff0c;常言道需要就加载&#xff0c;不需要就先放一边 懒加载定义 懒加载简单来说就是延迟加载或按需加载&#xff0c;即在需要的时候的时候进行加载。 使用 常用的懒加载方式有两种&#xff1a;即…...

C++系列第九篇 数据类型下篇 - 复合类型(指针高级应用)

系列文章 C 系列 前篇 为什么学习C 及学习计划-CSDN博客 C 系列 第一篇 开发环境搭建&#xff08;WSL 方向&#xff09;-CSDN博客 C 系列 第二篇 你真的了解C吗&#xff1f;本篇带你走进C的世界-CSDN博客 C 系列 第三篇 C程序的基本结构-CSDN博客 C 系列 第四篇 C 数据类型…...

python三大开发框架django、 flask 和 fastapi 对比

本文讲述了什么启发了 FastAPI 的诞生&#xff0c;它与其他替代框架的对比&#xff0c;以及从中汲取的经验。 如果不是基于前人的成果&#xff0c;FastAPI 将不会存在。在 FastAPI 之前&#xff0c;前人已经创建了许多工具 。 几年来&#xff0c;我一直在避免创建新框架。首先&…...

html基础2

视频video <video src"视频的路径"controls"控制播放、暂停、音量等"autoplay"自动播放"loop"循环播放"width"视频播放器的宽度"height"视频播放器的高度"> </video>还有做浏览器兼容的方式&#xf…...

基于博弈树的开源五子棋AI教程[5 启发式搜索]

文章目录 1 最大化攻击者/最小化防守者排序2 置换表启发3 杀手表启发4 历史表启发历史表以及杀手表的维护初始化追加杀手表项清空杀手表 启发式搜索的姿势千奇百怪&#xff0c;本文只讨论一下几种 //搜索空间 #define Search_Space_MVA 0 //最优价值攻击者[分数最大] #d…...

JavaScript原型,原型链 ? 有什么特点?

一、原型 JavaScript 常被描述为一种基于原型的语言——每个对象拥有一个原型对象 当试图访问一个对象的属性时&#xff0c;它不仅仅在该对象上搜寻&#xff0c;还会搜寻该对象的原型&#xff0c;以及该对象的原型的原型&#xff0c;依次层层向上搜索&#xff0c;直到找到一个…...

Unity 问题 之 ScrollView ,LayoutGroup,ContentSizeFitter 一起使用时,动态变化时无法及时刷新更新适配界面的问题

Unity 问题 之 ScrollView ,LayoutGroup,ContentSizeFitter 一起使用时&#xff0c;动态变化时无法及时刷新更新适配界面的问题 目录 Unity 问题 之 ScrollView ,LayoutGroup,ContentSizeFitter 一起使用时&#xff0c;动态变化时无法及时刷新更新适配界面的问题 一、简单介绍…...

linux 中 C++的环境搭建以及测试工具的简单介绍

文章目录 makefleCMakegdb调试 与 coredumpValgrind 内存检测gtest 单元测试 makefile 介绍 安装 : sudo apt install make makefile 的规则: 举例说明 包括&#xff1a;目标文件 、 依赖文件 、 生成规则 使用 &#xff1a; make make clean CMake : CMake是一个…...

448. 找到所有数组中消失的数字

找到所有数组中消失的数字 描述 : 给你一个含 n 个整数的数组 nums &#xff0c;其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字&#xff0c;并以数组的形式返回结果。 题目 : LeetCode 448. 找到所有数组中消失的数字: 448. 找…...

为何在下雪天它“失宠”了,传统雪地靴居然不适合下雪穿

随着冬至的到来&#xff0c;一年之中最寒冷的“三九天”正式拉开序幕。近期各地纷纷下起了大雪&#xff0c;在这场大雪中雪地靴似乎“失宠”了。在社交媒体上&#xff0c;有网友吐槽“雪地靴根本不能下雪穿”&#xff0c;后面有不少网友纷纷分享了自己在雪地靴上尴尬的经历&…...

第34节: Vue3 调用内联处理程序中的方法

在UniApp中使用Vue3框架时&#xff0c;你可以在模板中直接调用组件内联处理程序中的方法。以下是一个示例&#xff1a; <template> <view> <button click"handleClick">Click me</button> <p>{{ message }}</p> </view&…...

JavaScript--明明白白Promise (Park One)

明明白白Promise (Park One) Promise是一种用于处理异步操作的特殊对象。它代表了一个尚未完成但最终会完成的操作&#xff0c;并可以在操作完成后返回结果或错误。 Promise有三种状态&#xff1a;pending&#xff08;进行中&#xff09;、fulfilled&#xff08;已完成&#…...

el-form与el-upload结合上传带附件的表单数据(后端篇)

1.写在之前 本文采用Spring Boot MinIO MySQLMybatis Plus技术栈&#xff0c;参考ruoyi-vue-pro项目。 前端实现请看本篇文章el-form与el-upload结合上传带附件的表单数据&#xff08;前端篇&#xff09;-CSDN博客。 2.需求描述 在OA办公系统中&#xff0c;流程表单申请人…...

postMessage——不同源的网页直接通过localStorage/sessionStorage/Cookies——技能提升

最近遇到一个问题&#xff0c;就是不同源的两个网页之间进行localstorage或者cookie的共享。 上周其实遇到过一次&#xff0c;觉得麻烦就让后端换了种方式处理了&#xff0c;昨天又遇到了同样的问题。 使用场景 比如从网页A通过iframe跳转到网页B&#xff0c;而且这两个网页…...

丹青识画系统Prompt工程指南:如何用文本描述引导更精准的风格鉴定

丹青识画系统Prompt工程指南&#xff1a;如何用文本描述引导更精准的风格鉴定 丹青识画这类AI系统&#xff0c;很多人以为它就是个“看图说话”的工具&#xff0c;把图片丢进去&#xff0c;它告诉你这是什么风格、哪个流派。这确实没错&#xff0c;但如果你只这么用&#xff0…...

UE5.3与Colosseum集成配置指南及常见问题解析

1. 环境准备&#xff1a;Windows系统下的基础配置 在开始Colosseum与UE5.3的集成之前&#xff0c;我们需要确保开发环境满足基本要求。我最近在Windows 11系统上完成了一次完整配置&#xff0c;实测下来这几个关键组件版本组合最稳定&#xff1a; 操作系统&#xff1a;Windows …...

GTSAM编译避坑:为什么你的Eigen版本总是不匹配?详细排查与修复教程

GTSAM编译中的Eigen版本冲突&#xff1a;从根源到解决方案的深度指南 引言 在机器人学和计算机视觉领域&#xff0c;GTSAM&#xff08;Georgia Tech Smoothing and Mapping Library&#xff09;作为因子图优化的标杆工具&#xff0c;其重要性不言而喻。然而&#xff0c;许多开发…...

ImageSearch本地图片搜索引擎:从技术原理到实战应用

ImageSearch本地图片搜索引擎&#xff1a;从技术原理到实战应用 【免费下载链接】ImageSearch 基于.NET8的本地硬盘千万级图库以图搜图案例Demo和图片exif信息移除小工具分享 项目地址: https://gitcode.com/gh_mirrors/im/ImageSearch 价值定位&#xff1a;重新定义本地…...

哔哩下载姬DownKyi实用指南:从新手到高手的进阶之路

哔哩下载姬DownKyi实用指南&#xff1a;从新手到高手的进阶之路 【免费下载链接】downkyi 哔哩下载姬downkyi&#xff0c;哔哩哔哩网站视频下载工具&#xff0c;支持批量下载&#xff0c;支持8K、HDR、杜比视界&#xff0c;提供工具箱&#xff08;音视频提取、去水印等&#xf…...

告别重复造轮子,用快马ai一键生成tomcat高效开发工具集与配置模板

今天想和大家分享一个提升Tomcat开发效率的小技巧。作为一个经常和Tomcat打交道的开发者&#xff0c;我发现每次新建项目都要重复写一些基础工具类&#xff0c;特别浪费时间。最近在InsCode(快马)平台上尝试用AI生成了一套可复用的工具集&#xff0c;效果很不错。 数据库连接池…...

保姆级教程:从零配置ROS2自定义消息包(含CMake/ament避坑指南)

从零构建ROS2自定义消息包的终极实践指南 在机器人开发领域&#xff0c;ROS2的消息系统是模块间通信的核心枢纽。当标准消息类型无法满足特定需求时&#xff0c;自定义消息包便成为开发者必须掌握的技能。本文将带您从零开始&#xff0c;逐步构建一个完整的ROS2自定义消息包&am…...

OpenClaw浏览器自动化:ollama-QwQ-32B驱动的研究资料收集系统

OpenClaw浏览器自动化&#xff1a;ollama-QwQ-32B驱动的研究资料收集系统 1. 为什么需要自动化研究资料收集 作为一名经常需要查阅大量文献的技术写作者&#xff0c;我长期被资料收集的效率问题困扰。传统工作流程中&#xff0c;我需要手动在Google Scholar、arXiv、知乎等平…...

售前客户需求深度挖掘:从表面诉求到核心痛点的五步法

# 003、客户需求深度挖掘&#xff1a;从表面诉求到核心痛点的五步法---上周调一个嵌入式项目&#xff0c;客户说“设备偶尔会死机&#xff0c;重启就好”。我们查了三天的日志&#xff0c;发现是内存泄漏。但真正的问题是什么&#xff1f;是代码质量&#xff1f;不完全是。最后…...

5分钟搞定三网话费余额查询:手把手教你用PHP+HTML搭建查询系统(含API调用避坑指南)

三网话费查询系统开发实战&#xff1a;从API调用到前端优化的全流程指南 最近在帮朋友开发一个小型话费查询工具时&#xff0c;发现市面上关于三网运营商API调用的完整教程并不多见。大多数开发者遇到问题时只能靠反复试错&#xff0c;特别是当需要同时对接移动、联通、电信三家…...