概述
1躺枕、jmeter提供一個插件Redis Data Set苏遥,但是此插件的功能僅類似于一個CSV Data Set Config。相當(dāng)于一個前置配置彬犯,用于為每個線程向楼、或者每一次循環(huán)提供一個參數(shù)化的值查吊,這個值從redis的list或者set中讀取。
2湖蜕、上述插件并不適用于在測試請求過程動態(tài)提取redis中的值并使用(需通過編寫beanshell腳本才能實現(xiàn))逻卖。
一、Redis Data Set插件的使用
1昭抒、下載插件
下載Plugins Manager JAR文件:https://jmeter-plugins.org/get/
將文件復(fù)制到JMeter的lib/ext目錄下
啟動JMeter后可看到剛才添加的插件管理器
通過插件管理器添加redis插件
2评也、配置Redis Data Set
3、驗證效果
????已知在redis里戈鲁,鍵books的值為["chinese","english","math"]仇参,下面運行jmeter,設(shè)置3個線程婆殿,通過簡單打印出變量book的值來驗證是否可讀取到保存在redis中的數(shù)據(jù)
二诈乒、通過BeanShell腳本實現(xiàn)全面操作redis
????java主要依賴于jedis操作redis,由于上述安裝redis插件的過程中婆芦,jmeter已經(jīng)將jedis一并安裝好了怕磨,無需再添加額外的jar包。
1消约、定義連接信息
2肠鲫、BeanShell腳本通過jedis操作redis
代碼如下:
import redis.clients.jedis.Jedis;
import org.apache.commons.lang3.StringUtils;
String host = "${redis-host}"; //服務(wù)器地址
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值保存為變量
如上,成功取到了需要的數(shù)據(jù)或粮。
?? ??當(dāng)然导饲,此處僅演示了獲取string類型的數(shù)據(jù)。至于獲取其他類型數(shù)據(jù)氯材,甚至對redis的數(shù)據(jù)庫的增渣锦、刪、改氢哮、查的所有操作袋毙,jedis都支持。具體可參考查閱jedis提供的所有方法冗尤。如果讀者有興趣听盖,還可以自己再次進行封裝。
此處推薦一篇文章:https://www.cnblogs.com/tengfly/p/9307373.html