通过 Java 操作 redis -- 基本通用命令

news2024/11/25 2:55:10

       

目录

使用 String 类型的 get 和 set 方法

使用通用命令 exists ,del

使用通用命令 keys

使用通用命令 expire,ttl

使用通用命令 type


        要想通过 Java 操作 redis,首先要连接上 redis 服务器,推荐看通过 Java 操作 redis -- 连接 redis

        关于 redis 的基本通用命令推荐看Redis 的常用基本全局命令【小林优选】

使用 String 类型的 get 和 set 方法

        按道理这两个命令不是基本通用命令,但 redis 中要有数据我们才好进行分析,所以先学这两个命令

/**
     * 使用 String 类型的 get 和 set 方法
     * */
    public static void  test1(Jedis jedis){
        //清空 redis 中所有数据库的数据
        jedis.flushAll();
        //清空当前数据库中的数据
        //jedis.flushDB();

        jedis.set("key1","111");
        String value1=jedis.get("key1");
        System.out.println("value1:"+value1);

        jedis.set("key2","222");
        //通过 SetParams 类型的对象来设置 set 命令的选项,如 ex,px,xx,nx
        SetParams setParams=new SetParams();
        //设置秒级的过期时间
        setParams.ex(10);
        //设置毫秒级的过期时间
        //setParams.px(10000);
        //键值对仅更新(之前存在该key值则更新,不存在则没有效果)
        setParams.xx();
        //键值对仅创建(之前不存在该key值则创建,存在则没有效果)
        //setParams.nx();
        jedis.set("key2","333",setParams);
        String value2=jedis.get("key2");
        System.out.println("value2:"+value2);
    }

得到的结果为:

使用通用命令 exists ,del

public static void test2(Jedis jedis){
        //清空 redis 中所有数据库的数据
        jedis.flushAll();

        jedis.set("key1","111");
        jedis.set("key2","222");
        jedis.set("key3","333");

        //判断单个键值对是否存在,单位为 boolean
        boolean result1=jedis.exists("key1");
        System.out.println("result1:"+result1);
        //判断多个键值对是否存在,返回存在的键值对个数,单位为 long(可变长参数)
        long result2=jedis.exists("key1","key2","key3");
        System.out.println("result2:"+result2);

        //删除单个元素,返回值为删除的个数,单位为 long
        long result3=jedis.del("key1");
        System.out.println("result3:"+result3);
        //删除多个元素,返回值为删除的个数,单位为 long
        long result4=jedis.del("key1","key2","key3");
        System.out.println("result4:"+result4);
    }

得到的结果为:

使用通用命令 keys

    /**
     * 使用通用命令 keys
     * */
    public static void test3(Jedis jedis){
        //清空 redis 中所有数据库的数据
        jedis.flushAll();

        jedis.set("key1","111");
        jedis.set("key2","222");
        jedis.set("key3","333");

        //获取指定格式的 key,* 代表所有格式
        Set<String> set=jedis.keys("*");
        System.out.println(set);
    }

得到的结果为:

使用通用命令 expire,ttl

     /**
     * 使用通用命令 expire,ttl
     * */
    public static void test4(Jedis jedis) {
        //清空 redis 中所有数据库的数据
        jedis.flushAll();

        jedis.set("key1","111");
        //为 key1 键值对设置 10 秒的过期时间,设置成功返回 1
        long result1=jedis.expire("key1",10);
        System.out.println("result1:"+result1);
        //休眠 2 秒
        try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }
        //获取 key1 的过期时间
        long result2=jedis.ttl("key1");
        System.out.println("result2:"+result2);
    }

得到的结果为:

使用通用命令 type

    /**
     * 使用通用命令 type
     * */
    public static void test5(Jedis jedis){
        //清空 redis 中所有数据库的数据
        jedis.flushAll();

        //设置 value 为 String 类型的键值对
        jedis.set("key1","111");
        //获取 key1 对应 value 的类型
        String result1=jedis.type("key1");
        System.out.println("result1:"+result1);

        //设置 value 为 list 类型的键值对
        jedis.lpush("key2","111","222","333");
        //获取 key2 对应 value 的类型
        String result2=jedis.type("key2");
        System.out.println("result2:"+result2);

        //设置 value 为 hash 类型的键值对
        jedis.hset("key3","f1","111");
        //获取 key3 对应 value 的类型
        String result3=jedis.type("key3");
        System.out.println("result3:"+result3);

        //设置 value 为 set 类型的键值对
        jedis.sadd("key4","111","222","333");
        //获取 key4 对应 value 的类型
        String result4=jedis.type("key4");
        System.out.println("result4:"+result4);

        //设置 value 为 zset 类型的键值对
        jedis.zadd("key5",10,"zhangsan");
        //获取 key5 对应 value 的类型
        String result5=jedis.type("key5");
        System.out.println("result5:"+result5);
    }

得到的结果为:

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

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

相关文章

裸辞、裁员、老板跑路、被迫失业,未来是「超级个体」的时代

本期我们邀请的程序员是张立强&#xff0c;裸辞、裁员、老板跑路、被迫失业&#xff0c;管理层利益争夺&#xff0c;职业转型&#xff0c;工作五年&#xff0c;攒出了十年经验。程序员如何寻找自己的第二曲线&#xff0c;不妨听听立强的看法。 裸辞失业 大家好&#xff0c;我…

redis 使用记录

redis 使用记录 下载运行配置文件启动 参考 下载 github: Redis for Windows 或者从百度网盘下载 Redis version 3.2.100 链接: https://pan.baidu.com/s/1kxNOuZFunvVhVy1cfQzCDA?pwdpibh 运行 双击运行 运行效果 如果出错&#xff1a;查看是否项目路径是否包含中文 配…

计算机视觉——OpenCV Otsu阈值法原理及实现

算法简介 Otsu阈值法&#xff0c;也被称为大津算法&#xff0c;是一种在图像处理中广泛使用的自动阈值分割技术。这种方法由日本学者大津展之于1979年提出&#xff0c;旨在根据图像的灰度直方图来自动选择最佳全局阈值。Otsu阈值法的核心思想是最小化类内方差或最大化类间方差…

京东淘宝1688商品采集商品数据抓取API

item_get-获得淘宝商品详情 item_search 关键字搜索商品 公共参数 请求地址: taobao/item_search 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&a…

Azure AKS日志查询KQL表达式

背景需求 Azure&#xff08;Global&#xff09; AKS集群中&#xff0c;需要查询部署服务的历史日志&#xff0c;例如&#xff1a;我部署了服务A&#xff0c;但服务A的上一个版本Pod已经被杀掉由于版本的更新迭代&#xff0c;而我在命令行中只能看到当前版本的pod日志&#xff…

c++匿名比较函数参数顺序逻辑

在使用lower_bound和upper_bound时&#xff0c;想自定义比较函数&#xff0c;在这个过程中出现了参数定义顺序导致的错误问题&#xff0c;于是查找学习了下自定义比较函数需要符合的规则。 目录 1 lower_bound和upper_bound函数 1.1 lower_bound 1.2 upper_bound 2 问题产…

服务器关机前未退出xampp导出MySQL无法启动

背景解决 五一放假&#xff0c;服务器关机了&#xff0c;但是关机前没有正常关闭数据库服务&#xff0c;导致数据库无法启动&#xff01; 查看错误日志如下 从报错信息可以看出是MySQL这个服务相关文件出现问题了&#xff0c;解决思路&#xff1a;重新安装xampp 重新安装xam…

OpenHarmony实战开发-管理位置权限

Web组件提供位置权限管理能力。开发者可以通过onGeolocationShow()接口对某个网站进行位置权限管理。Web组件根据接口响应结果&#xff0c;决定是否赋予前端页面权限。获取设备位置&#xff0c;需要开发者配置ohos.permission.LOCATION&#xff0c;ohos.permission.APPROXIMATE…

react引入阿里矢量库图标

react引入阿里矢量库图标 登录阿里矢量库&#xff0c;将项目所需的图标放一起 react项目中新建文件夹MyIcon.js 3. 在页面中引入&#xff0c;其中type为图标名称

JSON++介绍

1.简介 JSON 是一个轻量级的 JSON 解析库&#xff0c;它是 JSON&#xff08;JavaScript Object Notation&#xff09;的一个超集。整个代码由一个单独的头文件json.hpp组成&#xff0c;没有库&#xff0c;没有子项目&#xff0c;没有依赖项&#xff0c;没有复杂的构建系统&…

【RabbitMQ 三】Java客户端开发

本文引用的代码源自《RabbitMQ实战指南》 关键的类和接口主要有Channel、Connection、ConnectionFactory、Consumer等&#xff0c;它们主要的作用如下&#xff1a; Channel&#xff1a;实现AMQP协议层的操作Connection&#xff1a;开启信道&#xff08;Channel&#xff09;、注…

黑马点评项目总结

登录 基于session登录 短信验证码登录 配置登录拦截器 向 Spring MVC 框架中添加拦截器&#xff0c;LoginInterceptor 是一个自定义的拦截器&#xff0c;用于拦截用户的登录请求。 excludePathPatterns这一句是设置拦截器需要放行的请求路径列表。 "/user/code", …

ROS机械臂中Movelt!

Movelt!简介 一个易于集成使用的集成化开发平台 由一系列移动操作的功能包组成 1、运动规划 2、操作控制 3、3D感知 4、运动学 5、控制与导航算法 ....... 提供友好的GUI 可应用于工业、商业、研发和其他领域 ROS社区中使用度排名前三的功能包 Movelt!三大核心功能 …

Kafka应用Demo:按主题订阅消费消息

安装环境 Kafka安装可参考官方网站的指导(https://kafka.apache.org/quickstart), 按步骤解压压缩包&#xff0c;修改配置。然后再启动zookeeper和kafka-server即可。 需要注意的一点&#xff1a;如果是在VMware虚拟机上启动的kafka, 需要修改一下server.properties配置文件&am…

JavaEE技术之MySql高级-搭建主从复制(主从同步原理、一主多从配置)

文章目录 MySQL主从同步1、MySQL主从同步原理2、一主多从配置2.1、准备主服务器2.2、准备从服务器2.3、启动主从同步2.4、实现主从同步2.5、停止和重置2.6、常见问题问题1问题2 MySQL主从同步 1、MySQL主从同步原理 基本原理&#xff1a; slave会从master读取binlog来进行数据…

python中如何遍历字典

1. 遍历字典的键key ① >>> d{list:[1, 2, 3],1:123,111:python3,tuple:(4, 5, 6)} >>> for key in d:print(str(key):str(d[key])) list:[1, 2, 3] 1:123 111:python3 tuple:(4, 5, 6) ② >>> d{list:[1, 2, 3],1:123,111:python3,tuple:(4, 5, 6…

书生·浦语大模型实战营之手把手带你评测 Llama 3 能力(OpenCompass 版)

书生浦语大模型实战营之手把手带你评测 Llama 3 能力&#xff08;OpenCompass 版&#xff09; 环境配置 conda create -n llama3 python3.10 pytorch torchvision pytorch-cuda -c nvidia -c pytorch -y conda activate llama3conda install git git-lfs install✨下载 Llama3…

HP Z620 服务器打开VTx虚拟技术

在使用Virtual Box的时候&#xff0c;虚拟主机启动报错&#xff1a;提示需要VTx。于是到bios里面去设置VTx。 这里有个小坑&#xff0c;就是HP 的bios配置里面&#xff0c;VTx不在常规的“System Configuration”、“Advanced”等地方&#xff0c;而是在“Security”菜单里&…