【Redis】进阶篇--用JAVA代码操作Redis

news2024/11/28 7:42:40

🥳🥳Welcome Huihui's Code World ! !🥳🥳

接下来看看由辉辉所写的关于Redis的相关操作吧 

目录

🥳🥳Welcome Huihui's Code World ! !🥳🥳

一.Java连接Redis

1.导入pom依赖

​2.Java连接

二.Java操作Redis

1.Redis字符串(String)

2.Redis哈希(Hash)

3.列表(List)

4.集合(Set)


一.Java连接Redis

1.导入pom依赖

<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.9.0</version>
</dependency>

2.Java连接

在此之前需要开启redis服务

然后建一个类,写上下列代码

package com.zking.minoa.wh;

import redis.clients.jedis.Jedis;

/**
 * @author是辉辉啦
 */
public class Redis {
    public static void main(String[] args) {
    Jedis jedis = new Jedis("192.168.101.129", 6379);
    jedis.auth("123456");
    System.out.println(jedis.ping());
    jedis.select(1);
    }
}

二.Java操作Redis

1.Redis字符串(String)

package com.zking.minoa.wh;
 
import redis.clients.jedis.Jedis;

/**
 * @author是辉辉啦
 *
 */
public class Demo2 {
    public static void main(String[] args) {
        Jedis jedis = new Jedis("192.168.101.129", 6379);
        jedis.auth("123456");
 
//        存值
//        jedis.set("uname","wh);
//        取值
//        System.out.println(jedis.get("uname"));
//        设置时间
//        jedis.setex("hobby",20,"daima");
//        查看剩余时间
//        System.out.println(jedis.ttl("hobby"));
//        修改值
//        jedis.set("uname","huihui");
//        System.out.println(jedis.get("uname"));
//        删除值
//        System.out.println(jedis.del("uname"));
    }
}

2.Redis哈希(Hash)

package com.zking.minoa.wh;
 
import redis.clients.jedis.Jedis;

/**
 * @author是辉辉啦
 *
 */
public class Demo3 {
    public static void main(String[] args) {
        Jedis jedis = new Jedis("192.168.101.129", 6379);
        jedis.auth("123456");
//      存值
//      jedis.hset("student","sname","wh");
//      jedis.hset("student","sage","18");
//      jedis.hset("student","sex","nv");
//      取指定的字段值
//      System.out.println(jedis.hget("student", "sname"));
//      删除值
//      System.out.println(jedis.hdel("student","sage"));
//      查询指定的key的所有字段
//      System.out.println(jedis.hgetAll("student"));
//      查询指定的key是否存在
//      System.out.println(jedis.hexists("student", "sname"));
//      System.out.println(jedis.hexists("student", "sage"));
//      获取指定key的长度
        System.out.println(jedis.hlen("student"));
    }
}

工具类编写

但是在Java中操作哈希数据,会与用命令操作有所不同,它不能够一次性添加多条数据,那么我们其实可以编写一个工具类,去实现一次添加多条数据的目的

package com.zking.minoa.wh;

import redis.clients.jedis.Jedis;

import java.util.Map;
import java.util.Set;

/**
 * @author是辉辉啦
 * @create 2023-11-03-16:47
 */
public class RedisUtils {
    public static void setMap (Jedis jedis, String key, Map<String,String> map){
        if(map!=null&&map.size()!=0){
            Set<String> keys = map.keySet();
            for(String mykey:keys){
                jedis.hset(key, mykey, map.get(mykey));
            }
        }

    }

}

 测试

package com.zking.minoa.wh;
 
import redis.clients.jedis.Jedis;

import java.util.HashMap;
import java.util.Map;

/**
 * @author是辉辉啦
 *
 */
public class Demo3 {
    public static void main(String[] args) {
        Jedis jedis = new Jedis("localhost", 6379);
        jedis.auth("123456");

        jedis.hset("person","name","huihui");
        Map map = new HashMap();
        map.put("name","huihui");
        map.put("sex","女");
        map.put("able","代码");
        RedisUtils redisUtils = new RedisUtils();
        redisUtils.setMap(jedis,"person",map);
    }
}

结果

3.列表(List)

package com.zking.minoa.wh;
 
import redis.clients.jedis.Jedis;

/**
 * @author是辉辉啦
 *
 */
public class Demo4 {
    public static void main(String[] args) {
        Jedis jedis = new Jedis("192.168.101.129", 6379);
        jedis.auth("123456");
//        存值
//        jedis.lpush("fruit","苹果","香蕉","西瓜");
//        获取列表的长度
//        System.out.println(jedis.llen("fruit"));
//        根据索引获取列表中的元素
//        System.out.println(jedis.lindex("fruit", 2));
//        查看指定范围内的元素
        System.out.println(jedis.lrange("fruit", 0, 1));
    }
}

4.集合(Set)

package com.zking.minoa.wh;
 
import redis.clients.jedis.Jedis;

/**
 * @author是辉辉啦
 *
 */
public class Demo5 {
    public static void main(String[] args) {
        Jedis jedis = new Jedis("192.168.101.129", 6379);
        jedis.auth("123456");
//        向集合添加一个或多个元素
//        jedis.sadd("student","wh","xw","huihui");
//        获取集合中的元素数量
//        System.out.println(jedis.scard("student"));
//        是否存在
        System.out.println(jedis.exists("student"));
        System.out.println(jedis.exists("user"));
    }
}

好啦,今天的分享就到这了,希望能够帮到你呢!😊😊   

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring Boot中解决跨域问题(CORS)

1. 跨域介绍 首先解释什么是跨域&#xff0c;跨域就是前端和后端的端口号不同&#xff1b;会产生跨域问题&#xff0c;这里浏览器的保护机制&#xff08;同源策略&#xff09;。 同源策略&#xff1a;前端和后端的协议、域名、端口号三者都相同叫做同源。 我们看一下不同源&am…

SAP SD 定价 删除不满足条件的的条件类型

项目上的需求&#xff1a;当销售订单行项目类别满足条件时&#xff0c;根据配置表&#xff0c;删除不满足条件的的条件类型。 直接上增强点&#xff0c;bapi也能跑到这个位置。

优思学院|领导力是什么?与管理能力有何不同?领导力也能够后天培养!

什么是领导力&#xff1f; 在现代商业世界中&#xff0c;领导力不再仅仅是指挥下属&#xff0c;而是一种复杂的技能&#xff0c;需要具备多方面的能力和特质。领导力是指一个人能够影响、激励和指导他人&#xff0c;以达成共同目标的能力。与管理能力相比&#xff0c;领导力更…

JavaScript:事件循环机制(EventLoop)

一、理解进程、线程 进程是操作系统中的基本概念之一&#xff0c;指的是一个正在运行中的程序&#xff0c;包括了程序的执行代码、数据、资源等。操作系统为每个进程分配一定的系统资源&#xff0c;例如内存空间、文件和设备等&#xff0c;以便进程能够正常运行。 线程是进程…

【jvm】虚拟机栈之方法返回地址

目录 一、说明二、方法退出三、代码示例四、截图示例 一、说明 1. 存放调用该方法的pc寄存器的值。 2. 一个方法的结束&#xff0c;有两种方式&#xff1a;正常执行完成和出现未处理的异常的非正常退出 3. 无论通过哪种方式退出&#xff0c;在方法退出后都返回到该方法被调用的…

【lvgl】linux开发板搭建环境

前言 本章介绍如何在linux开发板准备好了fb0的情况下移植lvgl。 抓取源码 git clone https://github.com/lvgl/lvgl.git git clone https://github.com/lvgl/lv_drivers.git git clone https://github.com/lvgl/lv_demos.git git clone https://github.com/lvgl/lv_port_lin…

【Docker】手把手教你使用Docker搭建kafka【详细教程】

目录 前提条件 1.安装Zookeeper 1.1运行ZooKeeper容器 2.运行Kafka容器 2.1启动Kafka容器 3.验证 3.1进入Kafka容器 3.2查看容器状态 3.3查看容器日志 3.4重新启动容器 3.5创建测试主题 前提条件 1. 安装Docker: 确保你已经在你的Windows机器上安装了Docker。你可以…

升级智能监控,真香!

随着社会的发展与进步&#xff0c;传统依赖看的监控已经无法满足大众的需求&#xff0c;不够智能、识别不精准&#xff0c;传统监控的弊端也日益显现&#xff0c;智能监控升级迫在眉睫。 升级智能监控&#xff0c;不仅能够促进公共安全&#xff0c;同时也能促进社会文明的发展…

Vue3多页面开发实践

前言&#xff1a; 项目需求&#xff0c;把项目中的一个路由页面单摘出来作为一个新的项目。项目部署到服务器上后&#xff0c;通过一个链接的形式可以直接访问到新项目的页面。 解决方式&#xff1a; 使用Vue多页面方式打包项目 实现步骤&#xff1a; 1、在项目的src目录下&am…

四、二叉树

树是常用的数据存储方式&#xff0c;由于树中存在大量的指针结构&#xff0c;所以树的有关操作相对来说是比较难的。 一、 树的定义 这里用二叉树来举例子 使用结构体的方式实现二叉树: struct BinaryTreeNode {int data;BinartTreeNode* left;BinartTreeNode* right; };使用…

柯桥俄语考级培训,俄语专八如何备考

1.用好真题 真题一共分为&#xff1a;口语表述、听力、词汇语法句法、文学常识、国情、阅读理解、俄汉互译、作文等部分。 第一&#xff0c;要自己动手做真题&#xff0c;然后对答案&#xff0c;看错题错在什么地方&#xff0c;还有哪些知识点是盲区。 第二&#xff0c;分析每…

linux下sqlplus登录oracle显示问号处理办法

问题描述 昨天紧急通过rpm按安装方式给客户装了一台linux的19c数据库&#xff0c;操作系统是CentOs Stream release 9&#xff0c;过程不再回忆了… 今天应用发现sqlplus登入后部分显示问号&#xff1f;&#xff0c;需要处理下 原因分析&#xff1a; 很明显&#xff0c;这就是…

Android ConstraintLayout分组堆叠圆角ShapeableImageView

Android ConstraintLayout分组堆叠圆角ShapeableImageView <?xml version"1.0" encoding"utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"…

中文大语言模型汇总

推荐一篇非常棒的github&#xff1a;Awesome-Chinese-LLM 另附语言模型排行榜&#xff1a;FastChat 里面总结了几乎所有目前主流的中文大语言模型。在此记录一下&#xff0c;方便以后慢慢学习。

Adobe Photoshop Elements 2024 v24.0 简体中文版 | 中文直装版

下载&#xff1a; http://dt1.8tupian.net/2/29913a53b500.pg3介绍&#xff1a;Photoshop Elements 2024(简称PSE即PS简化版)是一款定位在数码摄影领域的全新的图像处理软件&#xff0c;该软件包括了专业版的大多数特性&#xff0c;只有少量的简化选项&#xff0c;提供了调整颜…

高速缓存--直接映射

某高速缓存大小 256 字节&#xff0c;直接映射&#xff0c;块大小为 16 字节。定义 L 为数据装载命令&#xff0c;S 为存储&#xff0c;M 为数据修改。若每一数据装载(L)或存储(S)操作可引发最多 1次缓存缺失(miss)&#xff1b;数据修改操作(M)可认为是同一地址上 1 次装载后跟…

【3D图像分割】基于Pytorch的VNet 3D图像分割5(改写数据流篇)

在这篇文章&#xff1a;【3D 图像分割】基于 Pytorch 的 VNet 3D 图像分割2&#xff08;基础数据流篇&#xff09; 的最后&#xff0c;我们提到了&#xff1a; 在采用vent模型进行3d数据的分割训练任务中&#xff0c;输入大小是16*96*96&#xff0c;这个的裁剪是放到Dataset类…

将 UniLinks 与 Flutter 集成(安卓 AppLinks + iOS UniversalLinks)

让我们使用 Flutter Mobile 和 Flutter Web 集成 UniLinks。 一步一步的指导&#xff01; 我是 Pedro Dionsio&#xff0c;是葡萄牙 InspireIT 公司的 Flutter 开发人员&#xff0c;我写这个 UniLinks 教程的座右铭是&#xff1a; Firebase DynamicLinks 已被弃用&#xff0…

cocosCreator微信小游戏 之 分享好友和朋友圈(四)

creator版本&#xff1a; 3.8.0 语言&#xff1a; TypeScript 环境&#xff1a; Mac 简介 微信小游戏的分享分为两种&#xff1a; 被动分享 通过右上角的**…**打开&#xff0c;需要手动设置显示菜单才能分享好友或朋友圈主动分享 调用指定的 wx API接口即可进行分享好友 他…

[2016-2018]phpstudy的exp制作

[2016-2018]phpstudy的exp制作 用python的requests模块进行编写 修改请求数据包进行远程代码执行 import requests import base64 def remove_code_execute():try:url input("请输入要测试的网址:")cmd input("想要执行的命令:")cmd f"system({…