使用Jmeter读取和使用Redis数据

目录

前言

缓存

Redis服务和客户端安装

Jmeter使用Redis


前言

在使用 JMeter 进行性能测试时,有时需要读取和使用 Redis 数据。Redis 是一个开源的内存数据存储系统,常用于缓存、消息队列和数据存储等场景。

缓存

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功能非常强大,尤其是对多种中间件的支持,小伙伴们赶紧用起来吧。

 作为一位过来人也是希望大家少走一些弯路,在这里我给大家分享一些自动化测试前进之路的必须品,希望能对你带来帮助。(WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等),相信能使你更好的进步!

留【自动化测试】即可【自动化测试交流】:574737577(备注ccc)icon-default.png?t=N5K3http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=mDKyfdjYNAeufGp8xdITLYX82oszfcAW&authKey=WrZ1YMYKla5sOgXugyqBWmcAJglmktIVxAfVRtY1Hwt1Y7JTcse%2BT6u5PiF1D9aw&noverify=0&group_code=574737577

猜你喜欢

转载自blog.csdn.net/Free355/article/details/131500584