使用Jmeter读取和使用Redis数据

news2024/11/17 11:54:49

目录

前言

缓存

Redis服务和客户端安装

Jmeter使用Redis

总结:


前言

消息队列和缓存是目前主流的中间件,我们在日常测试过程中,无论是接口还是压力测试,都会遇到需要处理这些中间件数据的情况。本文以Redis对缓存做一个简单的介绍,并基于Jmeter实现缓存数据处理。

缓存

Web系统通常使用数据库来存储数据,但数据库存取涉及到磁盘读写,磁盘IO读写速度明显慢于内存读写速度,当并发量很大的时候,很容易成为系统瓶颈。为了提高数据的存取速度,避免系统瓶颈,越来越多的Web系统引入了缓存数据库。目前主流的缓存数据库有Redis和MongoDB,Jmeter通过扩展插件支持这两种内存数据库的数据库读取。本文以Redis为例,介绍如何使用Jmeter读取和使用Redis数据

   

Redis服务和客户端安装

1、官网下载Redis 安装文件

2、在Windows平台上双击redis-server.exe文件即可启动Redis服务,控制台出现如下所述提示,说明Redis-Server启用成功

3、下载安装Windows客户端,双击运行出现如下界面;通过客户端在Redis数据库中添加数据,本示例添加了一个List类型的数据,key=testList,值有a,b,c 三种

Redis是内存数据库,和Mysql这类关系型数据的表结构不同,Redis有如下6种数据结构:

  • String:Key-Value管理键值对。
  • Set:String 类型的无序集合,集合成员是唯一的,集合中不能出现重复的数据。
  • List:字符串列表,按照插入顺序排序。
  • Hash:Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。
  • Sorted Set:有序集合和集合一样也是string类型元素的集合, 不同的是每个元素都会关联一个double类型的分数,redis正是通过分数来为集合中的成员进行从小到大的排序。

Jmeter使用Redis

打开JMeter Plugins Manager,下载Jmeter Redis Data Set插件

重启Jmeter以后,可以在配置元件中发现新增组件 jp@gc-Redis Data Set,Jmeter的Redis Data Set目前尚有一些限制,仅支持List和Set类型的数据;如果要处理其他类型的数据,可以通过Beanshell Sampler来编写代码读取Redis数据。

Redis Data Set可以实现读取Redis中的数据,并将数据存储为变量供后续使用,其中关键的配置有:

  • Redis Key:对应Redis数据库中的Key。
  • Variable Name:Redis数据库中取出数据后存储的变量,可以供Jmeter后续的脚本使用。
  • Delimiter:分隔符,默认是 , 。
  • Data Source Type: Redis数据类型,此处仅支持List和Set。
  • Recycle data on use: 当数据遍历完时是否重新开始循环。
  • Connection Configuration:Redis 服务器的配置信息,包括Redis服务器的IP,端口,超时时间,密码和数据库名。
  • Redis Pool Configuration:Redis的连接池配置。

本示例读取了本地Redis数据库的testList数据,并且取出数据作为百度搜索的关键词

点击运行,脚本能从Redis数据库中取出数据,并作为后续Http请求的输入参数

Jmeter功能非常强大,尤其是对多种中间件的支持,小伙伴们赶紧用起来吧。

总结:

感谢每一个认真阅读我文章的人!!!

我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家评论区留言或私我领取哦。

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

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

相关文章

精选博客系列|vSphere 8 Update 1 介绍

去年,我们推出了 vSphere 8,这是传统和下一代应用程序的企业工作负载平台,该产品于 2022 年 11 月正式推出。今天,我们很高兴地宣布 vSphere 8 Update 1 版本。通过这个版本,客户可以获得增强的管理员操作效率&#xf…

【QT】QGridLayout的基础使用(添加控件、布局、间距)

目录 0.环境介绍 1.QGridLayout简介: 2.QGridLayout参数介绍 1)添加控件方式 2)添加布局方式 3.例子及代码 1)三行三列 2)有占多行多列的控件 0.环境介绍 windows vscode qt 我使用网格布局的情景是&#x…

深入理解侵入式容器与非侵入式容器(intrusive containers)

再传统的数据结构的实现中,分为侵入式容器和非侵入式容器两种 侵入式容器 这也是教材喜欢使用的数据结构的实现方式 ,将数据结构放入类中,所以先讲这个 非侵入式容器: struct ListNode {ListNode *prev, *next;int value; }; …

五分钟搞懂分布式流控算法

流控是任何一个复杂系统都必须考虑的问题,本文介绍并比较了不同的流控算法,从而帮助我们可以基于系统需求和架构选择合适的方案。原文:Distributed Rate-Limiting Algorithms[1] 当我们设计分布式流控系统(distributed rate-limit…

华硕TUF GAMING B460M i5-10500 电脑 Hackintosh 黑苹果efi引导文件

原文来源于黑果魏叔官网,转载需注明出处。(下载请直接百度黑果魏叔) 硬件配置 硬件型号驱动情况 主板华硕TUF GAMING B460M-PLUS (LPC Controller B460芯片组 处理器特尔 Core i5-10500 3.10GHz六核已驱动 内存16 GB (IstRI DDR4 2666MH…

在字节划水的4年,很真实...

先简单交代一下,我是某不知名211的计算机本硕,18年毕业加入滴滴,之后跳槽到了头条,一直从事测试开发相关的工作。之前没有实习经历,算是四年半的工作经验吧。 这四年半之间完成了一次晋升,换了一家公司&am…

微信可以聚合聊天吗?如何同时管理多个微信?

现在很多企业用微信做私域流量运营,在里面搭建自己的私域流量。随着客户资源逐渐增多,需求增加,不仅需要联系客户,还要联系各大代理,开通多个微信号无疑是最佳方案。 但是不少做电商的朋友表示,微信号越来…

代理ip数据采集的优缺点

随着互联网时代的到来,数据已经成为企业发展和决策的关键。但是,不同的网站它对于数据访问的限制和反爬虫措施却是给企业的数据采集带来了挑战。针对这一问题,代理IP数据采集技术应运而生。但是使用代理ip来进行数据采集也有优缺点。 一、代理…

JS WEB框架Express日志模块winston和express-winston以及winston-daily-rotate-file优化

1.前言 1.Express的日志模块winston和express-winston已经提供了开箱即用的大多数功能,但是和其他语言相比,还缺失对日志记录的当前文件和行号的支持,需要自己实现,以此记录一下。 2.express-winston主要用于记录请求进入和结束时…

【运筹优化】ALNS自适应大领域搜索算法求解TSP问题 + Java代码实现

文章目录 一、TSP问题简介二、数学建模三、实现细节四、案例实战4.1 测试案例说明4.2 Java 完整代码4.2.1 TSP_Instance 实例类4.2.2 TSP_Solution 结果类4.2.3 TSP_Util 工具类4.2.4 TSP_Solver_ALNS 算法类4.2.5 RunAndPlot 运行类 4.3 运行结果展示 一、TSP问题简介 旅行推…

MySQL登录时报错:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘解决办法

问题描述 在云服务器使用 docker安装的Mysql5.7数据库,刚开始的时候使用正常,后面突然有一天就连接不上了,报错为: ERROR 1045 (28000): Access denied for user root1xxx(using password:YES), 当登录MySQL数据库出现 Error 1045…

python套接字(三):结合pyside2实现多人聊天室

文章目录 前言一、准备1、安装pyside22、设计界面 二、代码实现1、服务器端2、客户端 三、运行 前言 上一章python套接字(二):实现一个服务器和多客户端连接,大概实现了多人聊天室功能,但是比较简陋,本篇内容将结合pyside2做一个…

车间主任、班组长必读:生产车间的现场管理

与工厂车间操作层(一线员工)接触最多的基层管理者,即我们通常所说的班组长、车间主任等,他们是将企业战略规划落实到具体工作当中的终端管理者。 一线班组长的“角色” 1、责任者 对企业来说,班组长是基层的治理员&am…

MySQL高级篇第二天

文章目录 一、Mysql的体系结构概览 二、 存储引擎 三、优化SQL步骤 一、Mysql的体系结构概览 整个MySQL Server由以下组成 Connection Pool : 连接池组件 Management Services & Utilities : 管理服务和工具组件 SQL Interface : SQL接口组件 Parser : 查询分析器组件 O…

游戏测试与一般的软件测试的区别在哪里?

有很多同学进入测试行业之后,一直从事的是软件测试的工作,然后跳槽时遇到一些游戏的公司的面试,就会有点慌,我做的都是软件测试,能胜任游戏测试么? 所以,今天我们需要先来了解一下,…

科技政策 | 《深圳市加快加快推动人工智能高质量发展高水平应用行动方案(2023—2024年)》发布

原创 | 文 BFT机器人 导语 Introduction 近日,深圳市发布了《深圳市加快推动人工智能高质量发展高水平应用行动方案(2023-2024年)》旨在以更大热情拥抱创新,打造最好生态,推动人工智能高质量发展和全方位各领域高水平…

C语言-关键字

关键字就是c语言已经定义好的名字,直接可以拿过来使用,不需要再次定义 1 数据类型相关的关键字 用于定义变量或者类型 定义变量的语法结构: 类型 变量名; 拓展:变量名属于标识符,标识符(变量…

关于Axios发请求(get或post)的参数问题

版本说明: {"name": "wx_vue_3.0","version": "0.1.0","private": true,"scripts": {"serve": "vue-cli-service serve","build": "vue-cli-service build"…

K-Means聚类算法

引言 聚类算法是传统机器学习算法中比较重要的一个算法,也是工程项目当中一个比较常用的算法。 一. 分类与聚类 分类 分类其实是从特定的数据中挖掘模式,作出判断的过程。 分类学习主要过程: (1)训练数据集存在一个类…

mathtype公式右编号对齐

mathtype公式右编号对齐 1.选中文中编辑好的公式,复制 2.mathtype里的点击右编号,将上面复制的公式粘贴到新出现的框内 3.编号设置