如何用jmeter连接Redis?

发表于:2019-11-13 11:02

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:加坊小子    来源:简书

  概述
  1、jmeter提供一个插件Redis Data Set,但是此插件的功能仅类似于一个CSV Data Set Config。相当于一个前置配置,用于为每个线程、或者每一次循环提供一个参数化的值,这个值从redis的list或者set中读取。
  2、上述插件并不适用于在测试请求过程动态提取redis中的值并使用(需通过编写beanshell脚本才能实现)。
  一、Redis Data Set插件的使用
  1、下载插件
  下载Plugins Manager JAR文件:https://jmeter-plugins.org/get/
  将文件复制到JMeter的lib/ext目录下
  启动JMeter后可看到刚才添加的插件管理器
  通过插件管理器添加redis插件
  2、配置Redis Data Set
  3、验证效果
  已知在redis里,键books的值为["chinese","english","math"],下面运行jmeter,设置3个线程,通过简单打印出变量book的值来验证是否可读取到保存在redis中的数据
  二、通过BeanShell脚本实现全面操作redis
  java主要依赖于jedis操作redis,由于上述安装redis插件的过程中,jmeter已经将jedis一并安装好了,无需再添加额外的jar包。
  1、定义连接信息
  2、BeanShell脚本通过jedis操作redis
  代码如下:
   import redis.clients.jedis.Jedis;
  import org.apache.commons.lang3.StringUtils;
  String host = "${redis-host}";  //服务器地址
  int port = ${redis-port};  //端口号
  String password = "${redis-password}";  //redis密码
  int index = 0;  //redis db
  String key = "${redis-key}";  //key值
  Jedis jedis = new Jedis(host, port);
  if(StringUtils.isNotBlank(password)){
  jedis.auth(password);
  }
  jedis.select(index);
  String redisGetResult = jedis.get(key);
  vars.put("redisGetResult",redisGetResult);  //将key值保存为变量
  
   如上,成功取到了需要的数据。
  当然,此处仅演示了获取string类型的数据。至于获取其他类型数据,甚至对redis的数据库的增、删、改、查的所有操作,jedis都支持。具体可参考查阅jedis提供的所有方法。如果读者有兴趣,还可以自己再次进行封装。

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号