7、Jedis测试

news2025/1/18 18:57:09

文章目录

  • 7、Jedis测试
    • 7.1. Jedis所需要的jar包
    • 7.2. 连接Redis注意事项
    • 7.3. Jedis常用操作
      • 7.3.1. 创建动态的工程
      • 7.3.2. 创建测试程序
    • 7.4. 测试相关数据类型
      • 7.4.1. Jedis-API:Key
      • 7.4.2. Jedis-API:String
      • 7.4.3. Jedis-API:List
      • 7.4.4. Jedis-API:set
      • 7.4.5. Jedis-API:hash
      • 7.4.6. Jedis-API:zset


Redis 6 入门到精通-讲师:王泽

世态炎凉,世界并不善良

7、Jedis测试

7.1. Jedis所需要的jar包

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

7.2. 连接Redis注意事项

  1. redis.conf中注释掉bind 127.0.0.1 (不注释掉只能本机访问)
    在这里插入图片描述
  2. 然后将保护模式改成 protected-mode no,默认是yes,只允许本机访问,改完后重启redis。
    在这里插入图片描述
  3. 禁用Linux的防火墙:Linux(CentOS7)里执行命令

systemctl status firewalld:查看防火墙状态

systemctl stop firewalld:关闭防火墙
在这里插入图片描述

7.3. Jedis常用操作

7.3.1. 创建动态的工程

在这里插入图片描述

7.3.2. 创建测试程序

package pers.tianyu.jedis;

import redis.clients.jedis.Jedis;

public class JedisDemo1 {
    public static void main(String[] args) {
        // 创建一个jedis对象
        Jedis jedis = new Jedis("192.168.0.101",6379);
        String ping = jedis.ping();
        System.out.println(ping);
        jedis.close();
    }
}

在这里插入图片描述

7.4. 测试相关数据类型

7.4.1. Jedis-API:Key

// key
@Test
public void demo01() {
    // 创建一个jedis对象
    Jedis jedis = new Jedis("192.168.0.101", 6379);
    // 	添加键值对
    jedis.set("k1", "v1");
    jedis.set("k2", "v2");
    jedis.set("k3", "v3");
    Set<String> keys = jedis.keys("*");
    // 集合数量
    System.out.println(keys.size());
    for (String key : keys) {
        System.out.println(key);
    }
    // 判断某个key是否存在
    System.out.println(jedis.exists("k1"));
    // 查看还有多少秒过期,-1表示永不过期,-2表示已过期
    System.out.println(jedis.ttl("k1"));
    // 查询对应键值
    System.out.println(jedis.get("k1"));
    // 关闭
    jedis.close();
}

7.4.2. Jedis-API:String

// string
@Test
public void demo02() {
    // 创建一个jedis对象
    Jedis jedis = new Jedis("192.168.0.101", 6379);
    // 	添加多个键值对
    jedis.mset("str1", "v1", "str2", "v2", "str3", "v3");
    // 获取多个值
    List<String> mget = jedis.mget("str1", "str2", "str3");
    System.out.println(mget);
}

7.4.3. Jedis-API:List

// list
@Test
public void demo03() {
    // 创建一个jedis对象
    Jedis jedis = new Jedis("192.168.0.101", 6379);
    //添加键值对
    jedis.lpush("code", "a", "b", "c", "d", "e");
    //获取list集合全部值
    List<String> code = jedis.lrange("code", 0, -1);
    //循环遍历
    for (String element : code) {
        System.out.println(element);
    }
    //关闭
    jedis.close();
}

7.4.4. Jedis-API:set

// set
@Test
public void demo04(){
    // 创建一个jedis对象
    Jedis jedis = new Jedis("192.168.0.101", 6379);
    //添加键值对
    jedis.sadd("mysql","a");
    jedis.sadd("mysql","b");
    jedis.sadd("mysql","c");
    jedis.sadd("mysql","d");
    jedis.sadd("mysql","e");
    // 取出该集合的所有值
    Set<String> mysql = jedis.smembers("mysql");
    for (String str:mysql) {
        System.out.println(str);
    }
    // 删除集合中的某个元素
    jedis.srem("mysql","a");
}

7.4.5. Jedis-API:hash

// hash
@Test
public void demo05() {
    // 创建一个jedis对象
    Jedis jedis = new Jedis("192.168.0.101", 6379);
    // 添加键值对
    jedis.hset("user", "name", "lisi");
    // 创建一个hashmap
    HashMap<String, String> map = new HashMap<>();
    map.put("telphone", "13100002222");
    map.put("address", "har");
    map.put("email", "abc@163.com");
    // 将map添加
    jedis.hset("user", map);
    // 获取key中的多个字段值
    List<String> hmget = jedis.hmget("user", "name", "telphone", "address", "email");
    for (String element : hmget) {
        System.out.println(element);
    }
    // 关闭
    jedis.close();
}

7.4.6. Jedis-API:zset

// zset
@Test
public void demo06() {
    // 创建一个jedis对象
    Jedis jedis = new Jedis("192.168.0.101", 6379);
    // 添加键值对
    jedis.zadd("china", 100d, "beijing");
    jedis.zadd("china", 200d, "shanghai");
    jedis.zadd("china", 300d, "guangzhou");
    jedis.zadd("china", 400d, "shenzhen");
    Set<String> china = jedis.zrange("china", 0, -1);
    for (String city : china) {
        System.out.println(city);
    }
    // 关闭
    jedis.close();
}

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

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

相关文章

葡萄糖-聚乙二醇-6-羧甲基荧光素 Glucose-PEG-6-FAM

葡萄糖-聚乙二醇-6-羧甲基荧光素 Glucose-PEG-6-FAM 中文名称&#xff1a;葡萄糖-6-羧甲基荧光素 英文名称&#xff1a;Glucose-6-FAM 别称&#xff1a;6-羧甲基荧光素标记葡萄糖&#xff0c;6-羧甲基荧光素-葡萄糖 PEG接枝修饰葡萄糖 Glucose-PEG-6-FAM 葡萄糖-聚乙二醇…

需求收集方法工具,以及进行需求分析的6大要素

通过本文你将了解&#xff1a;1、需求管理流程包括哪四个步骤&#xff1b;2、如何进行需求收集&#xff1b;3、如何进行需求分析&#xff1f;4、如何进行需求分发&#xff1b;5、如何进行需求验证&#xff1b;6、有哪些辅助软件需求管理的工具系统&#xff1f;一、需求管理包括…

MyBatis核心配置文件

1.environments 注 : environments下面可以配置多个环境 , 需要使用哪个环境default里面的参数就对应哪个Id. 2.properties 配置连接 方法一 :(直接配置参数) 方法二 :(使用properties配置文件) (1)创建一个 properties 文件 , 在里面配置连接 (2)在核心配置文件中配置使用p…

41.朴素贝叶斯Naive Bayes公式推导与理解+求解公园凉鞋问题(借助文氏图)

朴素贝叶斯是基于概率论统计学的分类算法。 贝叶斯理论是指根据一个已发生事件的概率&#xff0c;计算另一个事件的发生概率。 目录 1.相关概念 1.1先验概率 应用举例 1.2条件概率 应用举例 1.3全概率公式 应用举例 1.4后验概率 应用举例 2.课堂笔记 ​ 3.文…

ubuntu16.04+cuda10.0+cudnn7.6+tensorflow_gpu-1.11.0环境安装

为了搭深度学习环境,又装了一遍各种库,在此记录安装版本和流程. ubuntu16.04cuda10.0cudnn7.6tensorflow_gpu-1.11.0环境安装1 安装NVIDIA显卡2 安装CUDA10.03 安装CUDNN4 安装tensorflow_gpu-1.11.01 安装NVIDIA显卡 查看自己的显卡型号: lspci |grep -i nvidianvidia官网:h…

linux安装Zookeeper3.5.7详解

官网下载链接&#xff1a;Apache ZooKeeper 如下图可以下载历史版本 然后找到3.5.7版本&#xff0c;直接下载即可然后将Zookeeper拷贝到一个文件夹下&#xff0c;这里我选择的是/opt/software文件夹 然后将其解压到指定目录下 tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C …

让你全方位了解tftp协议,学tftp协议不再难

TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议&#xff0c;端口号为69&#xff0c;是一种高效的文件传输方式。 其目标是在UDP之上建立一个类似于FTP的但仅支持文件上传和下载功能的传输协议&a…

【Jmeter基础篇】06:HTTP信息头管理器的使用 | 梯度加压性能测试

一、什么是信息头&#xff1f; 其实就是请求头&#xff0c;它会随着我们的HTTP请求一起发送到服务器。 二、使用场景 需要传输cookie&#xff0c;token或其他某些信息&#xff0c;或是需要伪造请求头的时候。 三、实际案例 比如我在使用Apache Jmeter发送请求的时候&#…

【Hack The Box】linux练习-- Haircut

HTB 学习笔记 【Hack The Box】linux练习-- Haircut &#x1f525;系列专栏&#xff1a;Hack The Box &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f4c6;首发时间&#xff1a;&#x1f334;2022年9月7日&#x1f334; &#x1f36…

Fiddler收费没得用?这款抓包神器 Github star 过万,一个字:香

关于抓包&#xff0c;那是测试人员必备技能之一了&#xff0c;通常我们会通过一些抓包工具来辅助我们测试、定位bug。 我最早接触并使用的就是 fiddler &#xff0c;不过目前最新版本已经要开始付费了&#xff0c;以前很老的那版我也不爱用了&#xff0c;这可咋整&#xff1f;…

软件测试投了几十份简历为什么没有面试邀约?

最近有不少人问&#xff0c;测试岗位&#xff0c;为啥投了简历却连一个面试机会都没有&#xff1f;如下图&#xff1a; 投3份简历没有回音&#xff0c;有可能是投的公司规模较大&#xff0c;你自身条件不过关&#xff08;如学历&#xff0c;年龄不符合要求&#xff09;。 投30…

网络是怎样连接的--DNS服务器查询原理

文章目录3.1 DNS服务器基本工作3.2 寻找相应的DNS服务器并获取ip地址3.3 通过缓存加快DNS服务器的响应3.1 DNS服务器基本工作 DNS服务器的基本工作就是接收来自客户端的查询消息&#xff0c;然后根据消息的内容返回响应。 其中&#xff0c;来自客户端的查询消息包含以下3种信…

Java 面试题 —— 简单工厂、工厂方法、抽象工厂的区别

Java 面试题 —— 简单工厂、工厂方法、抽象工厂的区别 1、简单工厂模式 ​ 简单工厂模式&#xff08;Simple Factory Pattern&#xff09;&#xff1a;又称为静态工厂方法&#xff08;Static Factory Method&#xff09;模式&#xff0c;它属于类创建型模式。 ​ 在简单工厂…

常见仿射变换矩阵

旋转&#xff08;Rotation&#xff09; def _get_rotation_matrix(rotate_degrees):radian math.radians(rotate_degrees)rotation_matrix np.array([[np.cos(radian), -np.sin(radian), 0.],[np.sin(radian), np.cos(radian), 0.], [0., 0., 1.]],dtypenp.float32)return r…

C# 学习之路(C# 的概念)

C# 学习之路&#xff08;C# 的概念&#xff09; - 什么是 C# C# 的发音是 “C sharp”&#xff0c;不是念作 “C 井”&#xff08;虽然&#xff0c;我在没有接触之前是念“C 井”&#x1f923;&#xff09;。C# 的第一个版本是 2002年发布的 C# 1.0&#xff0c;但到如今&#x…

Redis——》内存淘汰策略

推荐链接&#xff1a; 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 Redis——》内存淘汰策略一、内存淘汰策略二、设置缓存大小三、设置过期时间…

前端常见面试题

前端常见面试题大全前端本地存储的方式有哪些?JS 的参数是以什么方式进行传递的?js中的垃圾回收?作用域链?什么是闭包?原型 与 原型链js的继承判断一个数据是否为数组? > 数组的方法数组去重?this指向问题?Promise是什么? 构造函数 异步代码的容器手写promo深拷贝 …

AQS源码解析 2.简介 内部核心结构

AQS源码解析—简介 & 内部核心结构 AQS内部结构 简介 AbstractQueuedSynchronizer&#xff1a;AQS&#xff0c;抽象队列同步器。主要是为了解决线程锁竞争的问题。 AQS 原理图如下&#xff0c;其本质是一个双向链表/队列 多线程抢锁内部数据结构&#xff0c;如下 核…

m基于matlab的站点休眠中继CDMA网络动态节能控制算法仿真与性能分析

目录 1.算法概述 2.仿真效果预览 3.MATLAB部分代码预览 4.完整MATLAB程序 1.算法概述 蜂窝网络不仅需要能够为用户提供高质量的语音服务&#xff0c;而且要能够提供大量的数据传输服务&#xff0c;这就决定了蜂窝网络的发展必须要进一步提高系统容量和高速数据速率覆盖&…

银行人总结5个影响系统性能的因素,怕是很多人都会忽略

性能测试往往在投产上线前开展&#xff0c;无法对整个系统变更进行全面的覆盖测试&#xff0c;因此性能测试需求提出十分关键。 性能测试需求交付过程中&#xff0c;需要对开发团队提出的测试需求进行审查&#xff0c;重点分析交付的测试需求是否充分覆盖了影响系统性能的因素…