Java连接Redis并操作Redis中的常见数据类型
目录
一. Java连接Redis
1. 导入依赖
2. 建立连接
二. Java操作Redis的常见数据类型存储
1. Redis字符串(String)
2. Redis哈希(Hash)
3. Redis列表(List)
4. Redis集合(Set)
一. Java连接Redis
1. 导入依赖
pom依赖
<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.9.0</version>
</dependency>
2. 建立连接
public static void main(String[] args) {
// 建立连接Jedis jedis = new Jedis("127.0.0.1", 6379);
// 设置密码jedis.auth("123456");
// 测试连接是否成功System.out.println(jedis.ping());}
运行后显示PONG则表示连接成功

二. Java操作Redis的常见数据类型存储
1. Redis字符串(String)
// #set key //保存jedis.set("string_name","wangwu");
// #get key //获取System.out.println(jedis.get("string_name"));
// #type key //查看类型System.out.println(jedis.type("string_name"));
// #keys * 或keys key //查看所有或者指定的keySystem.out.println(jedis.keys("*"));
// #SETEX KEY_NAME TIMEOUT VALUE // 给键值对设置过期时间jedis.setex("string_zs",30,"活着");
// #ttl key // 获取键值对剩余的存活时间System.out.println(jedis.ttl("string_zs"));
2. Redis哈希(Hash)
// # hset key field1 value1 [field2 value2] #同时将多个field-value设置到哈希表key中
jedis.hset("java_user","name","zs");
jedis.hset("java_user","sex","男");
jedis.hset("java_user","age","12");// # hget key field #获取指定的字段值
System.out.println(jedis.hget("java_user", "sex"));// # hdel key field #删除指定的字段值
jedis.hdel("java_user","sex");// # hgetall key #查询指定key的所有字段
Map<String, String> java_user_map = jedis.hgetAll("java_user");
System.out.println(java_user_map);// # hexists key field #查询指定key中的字段是否存在
Boolean java_user = jedis.hexists("java_user","sex");
System.out.println(java_user);// # hlen key #获取指定key中的长度
Long java_user_len = jedis.hlen("java_user");
System.out.println(java_user_len);
3. Redis列表(List)
// # lpush key value1 value2 value3 #将一个或多个值插入到列表头部
jedis.lpush("java_hobby", "篮球", "足球", "羽毛球");
// # llen key #获取列表的长度
Long java_hobby_len = jedis.llen("java_hobby");
System.out.println(java_hobby_len);
// # lindex key index #根据索引获取列表中的元素
System.out.println(jedis.lindex("java_hobby", 0));
// # lrange key start sop #查看指定范围内的元素
System.out.println(jedis.lrange("java_hobby", 0, 1));
4. Redis集合(Set)
// # sadd key value1 [value2] #向集合添加一个或多个元素
jedis.sadd("java_set_user","张三","李四","王五","张三丰");
// # scard key #获取集合中的元素数量
System.out.println(jedis.scard("java_set_user"));
// # exists key #是否存在
System.out.println(jedis.exists("java_set_user"));相关文章:
Java连接Redis并操作Redis中的常见数据类型
目录 一. Java连接Redis 1. 导入依赖 2. 建立连接 二. Java操作Redis的常见数据类型存储 1. Redis字符串(String) 2. Redis哈希(Hash) 3. Redis列表(List) 4. Redis集合(Set) 一. Java连接Redis 1. 导入依赖 pom依赖…...
Python 基于分位数-正态分布转换的评分算法
在实验的时候遇到一个比较实际的问题,就是怎样对数据进行评分。比如我想根据样本的正确率进行打分,有两种方法,一种是将准确率排序,然后根据序号进行打分,这样可以排除极端数据的影响,但是准确率之间的差距…...
如何修改CentOS登录时默认目录
查了一下,有说改/etc/passwd文件的,有说改.bashrc文件的,也有说改.bash_profile,修改的方法都不一样。 我要改的是root登录时的目录,最后修改了/root/.bash_profile文件,只要加一行cd 路径就可以。 这个文…...
JavaFX Scene Builder Gluon 控件详解
在 JavaFX Scene Builder 工具中,Gluon 是一个扩展库,提供了一些额外的控件和功能,用于创建更丰富和现代化的用户界面。本文将详细介绍 Gluon 中的各个控件及其作用。 AppBar(应用栏) AppBar 是一个用于显示应用程序…...
Vue路由(router-link)——高亮、动态传参
一、声明式导航-导航链接 1.需求 实现导航高亮效果 如果使用a标签进行跳转的话,需要给当前跳转的导航加样式,同时要移除上一个a标签的样式,太麻烦!!! 2.解决方案 vue-router 提供了一个全局组件 router…...
Java中将List转换为Map
在Java 8中,Stream API和Collectors类提供了一种方便的方式来处理集合数据。其中,将List转换为Map是一个常见的操作。下面我们将介绍如何使用Stream API和Collectors类将List转换为Map。 首先,假设我们有一个User类,包含id和name两…...
进程控制2——进程等待
在上一小节中我们介绍了进程的创建(fork)与退出(main函数的return与exit函数) 并且要有一个意识,进程退出的时候只有三种情况: 1.进程退出,结果正确 2.进程退出,结果不正确 3.运行异…...
k8s service
文章目录 Service 基础概念Service 类型:Service 的工作流程:东西流量,南北流量NodePortLoadBalancer Service 基础概念 在 Kubernetes(K8s)中,Service 是一个抽象的概念,表示一个应用程序的逻…...
C语言 每日一题 PTA 11.6 day12
1.调和平均 N 个正数的算数平均是这些数的和除以 N,它们的调和平均是它们倒数的算数平均的倒数。 本题就请你计算给定的一系列正数的调和平均值。 输入格式: 每个输入包含 1 个测试用例。每个测试用例第 1 行给出正整数 N(≤1000);第 2 行给…...
Git使用规范指南
文章目录 Git使用规范指南前言分支命名规范分支合并流程规范提交信息规范Angular提交规范注意事项 通用Git忽略文件配置 Git使用规范指南 前言 由于最近写完代码之后,Git使用不规范被领导说了,所以最近通过阅读大量的相关博客快速学习Git使用规范&#…...
axios和Ajax
1.axios 官网:https://axios-http.com/zh/ CDN:https://cdn.bootcdn.net/ajax/libs/axios/0.21.1/axios.min.js axios是一个请求库,在浏览器环境中,它封装了XHR,提供更加便捷的API发送请求 基本使用 // 发送 get 请求…...
Day06
1.继承 1.1 定义 让类与类之间产生子父类关系,有了继承性之后,子类就获取到了父类中声明的所有属性和方法。 1.2 优点 继承的出现减少了代码冗余,提高了代码的复用性。继承的出现,更有利于功能的扩展。继承的出现让类与类之间…...
@Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成
问题 Tag和Operation标签失效 但是Schema标签有效 pom依赖 <!-- 接口文档--><!--引入openapi支持--><dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-starter-webmvc-ui</artifactId><vers…...
基础课18——智能客服系统架构
1.基础设施层 基础设施主要包括以下几点: 1. 硬件设施:包括服务器、存储设备、网络设备等,这是整个系统运行的物理基础。 2. 软件设施:包括操作系统、数据库管理系统、自然语言处理(NLP)工具和机器学习算法等,这些是…...
python执行cmd命令——控制电脑连接wifi——程序打包
import subprocess # 使用Popen创建进程,并与进程进行复杂的交互 proc subprocess.Popen(netsh wlan show network, # cmd特定的查询空间的命令stdinNone, # 标准输入 键盘stdoutsubprocess.PIPE, # -1 标准输出(演示器、终端) 保存到管道中以便进行操作…...
Vue中nextTick的使用及原理
在Vue.js中,nextTick方法可以让我们在DOM更新后执行一些操作。通常情况下,在数据发生变化后,Vue.js会异步地更新DOM,这样可以减少不必要的DOM操作,提高性能。但是,有时候我们需要在DOM更新后对页面进行一些…...
【Linux】拓展:运维面试题,进程管理常见的7大问题
目录 一、如何判断一个程序是单线程还是多线程 二、僵尸进程是什么,有什么危害,如何解决 三、如何找回删掉的文件 四、删除文件以后,空间不释放 五、遇到一个病毒(如死循环病毒),解决思路 六、机器开机…...
Android修行手册 - 一文全了解Kotlin几种静态变量、函数实现的那些事
点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册点击跳转>Scratch编程案例点击跳转>软考全系列 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&…...
Qt QTableView排序
1.简介 在开发过程中,我们需要通过点击表头来对QTableView或QTreeView等一系列高级视图进行排序操作,以下是进行排序的步骤。 步骤: 首先创建了一个QStandardItemModel对象或者继承QAbstractTableModel类作为数据模型,并设置了…...
Linux shell编程学习笔记22: () $() (()) 的用法小结
最近学习Linux Shell编程,对 () (()) [] [[]]等符号的用法还是有点分不太清楚,于是决定再梳理一下。今天先整理 () $() (()) 的用法。 1 单小括号() 1.1 子shell(命令组) 括号中的命令将会新开一个子shell顺序执行,所…...
致远OA任意文件上传漏洞的深度利用与防御策略
致远OA文件上传漏洞的攻防全景解析与企业级防护指南 1. 漏洞背景与影响范围 致远OA作为国内广泛使用的协同办公系统,其安全性直接影响数百万企业的数据资产。近年来曝光的任意文件上传漏洞因其高危害性成为攻击者重点利用目标。该漏洞允许攻击者在未授权情况下上传恶…...
Mojo调用Python模块性能翻倍?深度剖析混合编程内存管理、GIL绕过与ABI兼容性(附实测基准数据)
第一章:Mojo与Python混合编程案例源码分析Mojo 作为兼具 Python 兼容性与系统级性能的新一代编程语言,其与 Python 的混合编程能力是实际工程落地的关键。以下通过一个典型场景——在 Python 主程序中调用 Mojo 实现的高性能向量加法函数——展开源码级剖…...
二分查找/二分答案
0.前言二分算法(Binary Search),也叫折半查找,是一种在有序数据集合中高效查找目标值的算法。它通过不断将查找范围缩小一半,快速定位目标,时间复杂度为 O(logn),远优于线性查找的 O(n)。1.原理…...
SYNBO AMA 回顾|当稳定币突破 3000 亿,一级的“钱”到底在往哪里流?
一、 聊了什么:背景与主题时间:2026 Mar 25 (Wed) 20:00 UTC8主题: Stablecoins Primary Market: The New Capital Stack Powering Global Payments in 2026在昨晚举行的一场围绕“稳定币、PayFi 与全球支付”的 AMA 中,SYNBO 与…...
逆向分析WhatsApp的GIF功能:用Frida抓取Tenor API的完整请求与响应数据
逆向工程实战:用Frida解密WhatsApp的GIF数据流 当你在WhatsApp中发送一个GIF表情时,是否好奇过这个动态图片是如何从服务器传输到你的手机上的?今天我们将深入WhatsApp客户端内部,通过动态插桩工具Frida来捕获和分析其背后的Tenor…...
深度解析ViGEmBus:Windows虚拟游戏手柄驱动实战指南
深度解析ViGEmBus:Windows虚拟游戏手柄驱动实战指南 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus ViGEmBus是一款专业的Windows内核模式驱动&a…...
聚焦数据中心基建核心:我国服务器机架导轨市场规模达8.1亿元,产业支撑力凸显
据恒州诚思最新调研数据显示,2025年全球服务器机架导轨市场规模达8.1亿元,预计至2032年将增长至11.61亿元,期间复合增长率(CAGR)为5.3%。这一增长受多重因素驱动:全球数据中心建设加速,预计2026…...
告别Transformer!用PyTorch从零实现MLP-Mixer图像分类(附完整代码与调参技巧)
告别Transformer!用PyTorch从零实现MLP-Mixer图像分类(附完整代码与调参技巧) 在计算机视觉领域,Transformer架构近年来风头无两,但你是否想过——仅用多层感知机(MLP)也能构建高性能视觉模型&a…...
FLUX.1文生图优化技巧:SDXL风格节点参数这样调,图片效果更出彩
FLUX.1文生图优化技巧:SDXL风格节点参数这样调,图片效果更出彩 1. 快速上手:FLUX.1文生图工作流基础操作 1.1 工作流启动指南 启动FLUX.1文生图工作流只需简单三步: 在ComfyUI左侧面板找到"FLUX.1-dev-fp8-dit文生图&quo…...
别再为气象数据发愁!手把手教你用HYSPLIT做后向轨迹分析(附GDAS1数据下载指南)
从零掌握HYSPLIT后向轨迹分析:气象数据获取与实战技巧全解析 当你在环境科学或大气污染研究中首次接触HYSPLIT模型时,最令人头疼的往往不是软件操作本身,而是那些看似简单却暗藏玄机的气象数据准备工作。我曾见过无数研究生在深夜实验室里反复…...
