JMeter 連接Redis


使用 jp@gc - Redis Data Set  連接Redis(只能獲取List、Set類型的數據)

1、在JMeter Plugins Manager 中安裝插件 Redis Data Set,重啟JMeter

 2、右鍵添加配置元件 jp@gc - Redis Data Set

 3、填寫相關信息

 

 

Redis key:Redis中的key,Redis數據庫中列表(有序數據)或集(無序數據)的名稱

Variable Names:由數據集導出到測試元素的變量的名稱(設置取出來的value存放在哪個變量中)

Delimiter:存儲在Redis列表或集合中的行中使用的分隔符(取出的value有多個值時,變量名之間的分隔符)

Date Sources Type:數據源類型,有List、Set兩種選擇,String、hash、zset類型取不到(在JMeter 3 中RANDOM_REMOVE 對應 List,RANDOM_KEEP 對應 Set)

 

Timeout for connection in ms:連接超時時間

Recycle data on use:是否循環使用數據

Redis server host:Redis服務器地址

Redis server port:Redis服務器端口

Password for connection:連接Redis的密碼

Database:數據庫名稱,連接Redis的第幾個數據庫,默認為0

whenExhaustedAction:當Redis連接池被分配時的操作,GROW(自動新建一個實例)、BLOCK(阻塞,超過等待時間后拋出異常)、FAIL(失敗,直接拋出異常)

使用Java代碼連接Redis

1)安裝Redis Data Set,或下載 jedis-2.2.1.jar 放入lib目錄

2)右鍵添加 BeanShell Sampler,代碼如下:

import redis.clients.jedis.Jedis;

String tag = vars.get("environment");
if(tag.equals("future")){
    String ip = vars.get("redis_ip");
    int port = Integer.parseInt(vars.get("redis_port"));
    String auth = vars.get("redis_auth");
    Jedis jedis = new Jedis(ip,port);
    jedis.auth(auth);
    jedis.select(0);
    String str = vars.get("securityId");
    String key = "KAPTCHA_SESSION_KEY_ID:"+str;
    String value = jedis.get(key);
    vars.put("securityCode",value); //future環境從Redis中取數據
}else{
    vars.put("securityCode","1234"); //UAT環境使用1234
}

 

處理String、list、set 類型的數據

//處理String、list、set 類型的數據 
String key = "KAPTCHA_SESSION_KEY_ID:3p6ubdda90n";
jedis.set("1234");
String value = jedis.get(key);

 

處理 hash 類型的數據

//處理 hash 類型的數據
String key = "spring:session:sessions:015644a2-2e3e-4191-b204-c2ae4e9702b8"; String filed = "sessionAttr: KAPTCHA_SESSION_KEY"; jedis.hset(key,filed,1234); int value=jedis.hget(key,filed);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM