使用Jmeter读取和使用Redis数据
前言
消息队列和缓存是目前主流的中间件,我们在日常测试过程中,无论是接口还是压力测试,都会遇到需要处理这些中间件数据的情况。本文以Redis对缓存做一个简单的介绍,并基于Jmeter实现缓存数据处理。
缓存
Web系统通常使用数据库来存储数据,但数据库存取涉及到磁盘读写,磁盘IO读写速度明显慢于内存读写速度,当并发量很大的时候,很容易成为系统瓶颈。为了提高数据的存取速度,避免系统瓶颈,越来越多的Web系统引入了缓存数据库。目前主流的缓存数据库有Redis和MongoDB,Jmeter通过扩展插件支持这两种内存数据库的数据库读取。本文以Redis为例,介绍如何使用Jmeter读取和使用Redis数据。
Redis服务和客户端安装
1、官网下载Redis 安装文件
https://github.com/microsoftarchive/redis/releases
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功能非常强大,尤其是对多种中间件的支持,小伙伴们赶紧用起来吧。
jmeter向redis中写数据
上面呢,我们已经有讲到了,怎么来获取redis数据库里面的数据?那接下来呢,我们给大家讲一下如何向redis数据库里面写入数据。
首先,我们下载jedis的jar包, 把下载的包,放入jmeter的lib文件夹下,重启jmeter
然后,在jmeter中,新增一个线程组,添加 “jsr223 sampler”
使用python向redis中写数据
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | import redis key = 'jmeter' # key就是数据库名 redis_info = { 'host' : '127.0.0.1' , 'port' : 6379 } def connect_redis(): pool = redis.ConnectionPool( * * redis_info) try : r = redis.Redis(connection_pool = pool) except Exception as err: raise err return r r = connect_redis() for i in range ( 0 , 10 ): r.lpush(key,i) # 向头部插入数据 # r.rpush(key,i) # 向尾部插入数据 |
Redis 安装
Window 下安装
下载地址:https://github.com/MSOpenTech/redis/releases。
Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip压缩包到C盘(也可以选择其他路径),解压后,将文件夹重新命名为redis。
打开一个 cmd 窗口 使用 cd 命令切换目录到 C:\redis 运行:
1 | redis - server.exe redis.windows.conf |
输入之后,会显示如下界面:
这时候另启一个 cmd 窗口,原来的不要关闭,不然就无法访问服务端了。
切换到 redis 目录下运行:
1 | redis - cli.exe - h 127.0 . 0.1 - p 6379 |
设置键值对:
set myKey abc
取出键值对:
get myKey
127.0.0.1 是本机 IP ,6379 是 redis 服务端口。现在我们输入 PING 命令:
redis 127.0.0.1:6379> ping
如果Redis服务器设置正确,您将看到响应:“PONG”。
关闭后如果需要重新启动 Redis
打开一个cmd窗口,切换到 redis 目录下运行:
redis-server
查看 redis 是否启动?
另外打开一个cmd窗口,切换到 redis 目录下运行
redis-cli
返回如下数据即可输入后续操作命令:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异