“Java与Redis的默契舞曲:优雅地连接与存储数据“

文章目录

  • 引言
  • 1. Java连接上Redis
  • 2. Java对Redis进行存储数据
    • 2.1 存储set类型数据
    • 2.2 存储hash类型数据
    • 2.3 存储list类型数据
  • 总结

在这里插入图片描述

引言

在现代软件开发中,数据存储和处理是至关重要的一环。Java作为一门强大的编程语言,与Redis这个高性能的内存数据库相结合,可以为我们提供出色的数据存储和访问能力。本文将深入探讨Java如何与Redis进行连接,并详细介绍如何使用Java存储不同类型的数据,包括String、hash、list、set和zset。

1. Java连接上Redis

  1. 导入pom依赖
<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.9.0</version>
</dependency>
  1. 打开windows的redis服务,并且连接上
  2. 新建一个demo,运行下面代码,如果控制台有pong就说明成功连接上了
    在这里插入图片描述

2. Java对Redis进行存储数据

2.1 存储set类型数据

package com.zking.ssm.redis;import redis.clients.jedis.Jedis;/*** @author 叶秋* @site* @company 卓京公司* @create 2023-11-03 16:45*/
public class Demo2 {public static void main(String[] args) {Jedis jedis = new Jedis("127.0.0.1", 6379);jedis.auth("123456");System.out.println(jedis.ping());jedis.select(6);//增jedis.set("值1","abc");//查System.out.println(jedis.get("值1"));//改jedis.set("值1","cba");//删除
//        jedis.del("值1");}
}

在这里插入图片描述

在这里插入图片描述

2.2 存储hash类型数据

package com.zking.ssm.redis;import redis.clients.jedis.Jedis;import java.util.HashMap;
import java.util.Map;/*** @author 叶秋* @site* @company 卓京公司* @create 2023-11-03 16:45*/
public class Demo3 {public static void main(String[] args) {Jedis jedis = new Jedis("127.0.0.1", 6379);jedis.auth("123456");System.out.println(jedis.ping());jedis.select(6);//增,该为java代码增加
//        jedis.hset("book","name","西游记");
//        jedis.hset("book","price","38.8");
//        jedis.hset("book","type","小说");Map<String,String> map = new HashMap<>();map.put("name","西游记");map.put("price","38.8");map.put("type","小说");RedisUtils.setHashMap(jedis,"user",map);//查System.out.println(jedis.get("值1"));//改jedis.set("值1","cba");//删除//jedis.del("值1");System.out.println(jedis.hget("user","name"));System.out.println(jedis.hgetAll("user"));
//        System.out.println(jedis.hdel("user","name"));}
}

在这里插入图片描述
在这里插入图片描述

2.3 存储list类型数据

Redis的list类型可以存储一个有序的字符串列表。我们可以使用lpush命令将一个字符串添加到列表的头部,使用rpush命令将一个字符串添加到列表的尾部,使用lrange命令获取指定范围内的列表元素等等。

package com.zking.ssm.redis;import redis.clients.jedis.Jedis;import java.util.HashMap;
import java.util.Map;/*** @author 叶秋* @site* @company 卓京公司* @create 2023-11-03 16:45*/
public class Demo4 {public static void main(String[] args) {Jedis jedis = new Jedis("127.0.0.1", 6379);jedis.auth("123456");System.out.println(jedis.ping());jedis.select(6);jedis.lpush("name","张三","李四","王五","赵六");System.out.println(jedis.lindex("name", 0));System.out.println(jedis.lrange("name", 0, 1));}
}

在这里插入图片描述

在这里插入图片描述

总结

本文介绍了Java与Redis的默契舞曲,详细讲解了如何连接Java与Redis,并展示了如何使用Java存储不同类型的数据,包括String、hash、list、set和zset。通过学习本文,您将掌握与Redis进行高效数据存储和访问的技巧,为您的软件开发工作提供有力支持。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/181682.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pytorch笔记 GRUCELL

1 介绍 GRU的一个单元 2 基本使用方法 torch.nn.GRUCell(input_size, hidden_size, biasTrue, deviceNone, dtypeNone) 输入&#xff1a;&#xff08;batch&#xff0c;input_size&#xff09; 输出和隐藏层&#xff1a;&#xff08;batch&#xff0c;hidden_size&#xf…

vue3+element Plus实现弹框的拖拽、可点击底层页面功能

1、template部分 <el-dialog:modal"false"v-model"dialogVisible"title""width"30%"draggable:close-on-click-modal"false"class"message-dialog"> </el-dialog> 必须加的属性 modal:是否去掉遮罩层…

Redis原理到常用语法基础图文讲解

在初期&#xff0c;已经讲述了Redis安装问题。现在正式进入Redis的入门阶段 系统架构的演进 传统单机架构 一台机器运行应用程序、数据库服务器 现在大部分公司的产品都是这种单机架构。因为现在计算机硬件发展速度很快&#xff0c;哪怕只有一台主机&#xff0c;性能也很高…

Ubuntu 20.04源码安装git 2.35.1

《如何在 Ubuntu 20.04 上从源代码安装 Git [快速入门]》和《如何在 Ubuntu 20.04 上安装 Git》是我参考的博客。 https://git-scm.com/是git官网。 lsb_release -r看到操作系统版本是20.04。 uname -r看到内核版本是5.4.0-156-generic。 sudo apt update更新一下源。 完…

携程AI布局:三重创新引领旅游行业智能化升级

2023年10月24日&#xff0c;携程全球合作伙伴峰会在新加坡召开&#xff0c;携程集团联合创始人、董事局主席梁建章做了名为《旅游业是独一无二的最好的行业》的演讲&#xff0c;梁建章在演讲中宣布了携程生成式 AI、内容榜单、ESG 低碳酒店标准三重创新的战略方向。这些创新将为…

Technology strategy Pattern 学习笔记3-Creating the Strategy-Industry context

Creating the Strategy-Industry context 1 SWOT 1.1 create steps 1.与内部各方沟通 了解企业的人、流程和技术&#xff0c;包括与其它企业的不同了解哪些创新可以做竞争者及市场信息企业可以支撑的类似业务 按SWOT四象限分类&#xff0c;先做列表后放入象限 1.2 四象限…

SSH远程管理服务

一、SSH概述 熟悉Linux的人那肯定都对SSH不陌生。ssh是一种用于安全访问远程服务器的协议&#xff0c;远程管理工具。它之所以集万千宠爱为一身&#xff0c;就是因为它的安全性。那么它到底是怎么样来保证安全的呢&#xff1f;到底是如何工作的呢&#xff1f; 1、加密算法&am…

JAVA智慧工地管理系统源码基于微服务

智慧工地是将互联网的理念和科技引入施工现场&#xff0c;从施工现场源头抓起&#xff0c;大程度的收集人员、安全、环境、质量等关键业务数据。通过结合物联网、大数据、互联网、云计算等技术建立云端大数据管理平台&#xff0c;形成端云大数据的体系与模式&#xff0c;这就是…

嵌入式中利用VS Code 远程开发原理

VS Code几乎是所有的程序员必备的工具之一&#xff0c;据说全球一般的开发者都使用过VS Code这款工具。 今天分享一篇 VS Code 实现远程办公相关的文章。 1、概 述 通常&#xff0c;我们都是每天到工作的办公室进行办公&#xff0c;但是&#xff0c;如果下班回家&#x…

【Java】三种方案实现 Redis 分布式锁

序言 setnx、Redisson、RedLock 都可以实现分布式锁&#xff0c;从易到难得排序为&#xff1a;setnx < Redisson < RedLock。一般情况下&#xff0c;直接使用 Redisson 就可以啦&#xff0c;有很多逻辑框架的作者都已经考虑到了。 方案一&#xff1a;setnx 1.1、简单实…

鸿运主动安全云平台任意文件下载漏洞复习

简介 深圳市强鸿电子有限公司鸿运主动安全监控云平台网页存在任意文件下载漏洞&#xff0c;攻击者可通过此漏洞下载网站配置文件等获得登录账号密码 漏洞复现 FOFA语法&#xff1a;body"./open/webApi.html" 获取网站数据库配置文件 POC&#xff1a;/808gps/Mobile…

MP4视频文件损坏怎么修复?

3-2 作为摄影师&#xff0c;或者在平时有拍摄工作的事情的&#xff0c;比如搞婚庆、搞航拍什么的&#xff0c;有一定的概率会遇到损坏的视频文件&#xff0c;比如相机突然断电、无人机炸机等&#xff0c;有可能会导致保存的MP4文件损坏。 这种文件使用播放器播放的话&#xf…

python 命令行界面的用户交互

背景 说一千&#xff0c;道一万&#xff0c;程序是为用户服务的&#xff0c;所以在程序运行过程&#xff0c;与用户交互以获取用户的信息输入和决策确认&#xff0c;是无法避免的编程需要考虑和解决的需求。 一个简单的demo 如下的程序中&#xff0c;程序需要生成一个新的 i…

【漏洞复现】Apache_HTTPD_多后缀解析漏洞

感谢互联网提供分享知识与智慧&#xff0c;在法治的社会里&#xff0c;请遵守有关法律法规 文章目录 1.1、漏洞描述1.2、漏洞复现1、基础环境2、漏洞验证 1.3、深度利用GetShell 1.4、修复建议 1.1、漏洞描述 Apache HTTPD 支持一个文件拥有多个后缀&#xff0c;并为不同后缀执…

Windows ObjectType Hook 之 OpenProcedure

1、背景 Object Type Hook 是基于 Object Type的一种深入的 Hook&#xff0c;比起常用的 SSDT Hook 更为深入。 有关 Object Type 的分析见文章 《Windows驱动开发学习记录-ObjectType Hook之ObjectType结构相关分析》。 这里进行的 Hook 为 其中之一的 OpenProcedure。文章分两…

LangChain+LLM实战---ChatGPT的即时插件套件制作

英文原文&#xff1a;Instant Plugins for ChatGPT: Introducing the Wolfram ChatGPT Plugin Kit 在一分钟内构建一个新插件 几周前&#xff0c;我们与OpenAI合作发布了Wolfram插件&#xff0c;使ChatGPT可以使用Wolfram语言和Wolfram|Alpha作为工具&#xff0c;在ChatGPT内部…

插值表达式 {{}}

前言 持续学习总结输出中&#xff0c;今天分享的是插值表达式 {{}} Vue插值表达式是一种Vue的模板语法&#xff0c;我们可以在模板中动态地用插值表达式渲染出Vue提供的数据绑定到视图中。插值表达式使用双大括号{{ }}将表达式包裹起来。 1.作用&#xff1a; 利用表达式进行…

Python基础入门例程43-NP43 判断布尔值(条件语句)

最近的博文&#xff1a; Python基础入门例程42-NP42 公式计算器&#xff08;运算符&#xff09;-CSDN博客 Python基础入门例程41-NP41 二进制位运算&#xff08;运算符&#xff09;-CSDN博客 Python基础入门例程40-NP40 俱乐部的成员&#xff08;运算符&#xff09;-CSDN博客…

SurfaceFlinger的硬件Vsync深入分析-千里马android framework车机手机系统开发

背景&#xff1a; 学过或者你看过surfaceflinger相关文章同学都知道&#xff0c;vsync其实都是由surfaceflinger软件层面进行模拟的&#xff0c;但是软件模拟有可能会有误差或偏差&#xff0c;这个时候就需要有个硬件vsync帮忙校准。 故才会在surfaceflinger的systrace出现如下…

python图像处理 ——几种图像增强技术

图像处理 ——几种图像增强技术 前言一、几种图像增强技术1.直方图均衡化2.直方图适应均衡化3.灰度变换4.同态滤波5.对比拉伸6.对数变换7.幂律变换&#xff08;伽马变换&#xff09; 前言 图像增强是指通过各种算法和技术&#xff0c;改善或提高数字图像的质量、清晰度、对比度…