Jmeter 實用技巧--redis 測試

小七的自动化课堂發表於2020-07-17

一、什麼是 redis

redis 是一個支援持久化的記憶體資料庫,是 Key-Value 資料庫,儲存的 value 型別有五種,包括 string、list、set、zset 和 hash。如下圖所示

二、redis 用在什麼場景

  • 1、驗證碼
  • 2、登入 session
  • 3、生成編碼
  • 4、 。。。

三、redis 基本命令

1、新增 value 為 String 型別的值,並獲取值

127.0.0.1:6379> set name zhangsan,lisi,wangwu    
OK
127.0.0.1:6379> get name
"zhangsan,lisi,wangwu"

2、新增 value 為 list 型別的值,並獲取值

127.0.0.1:6379> lpush age 22 23 24
(integer) 3
127.0.0.1:6379> lrange age 0 -1
1) "24"
2) "23"
3) "22"

3、新增 value 為 set 型別的值,並獲取值

127.0.0.1:6379> sadd colour red yellow blue
(integer) 3
127.0.0.1:6379> smembers colour
1) "yellow"
2) "red"
3) "blue"

4、新增 value 為 zset 型別的值,並獲取值

127.0.0.1:6379>  zadd course 10 yuwen  20 English 30 Math
(integer) 3
127.0.0.1:6379> zrange course 0 -1 withscores
1) "yuwen"
2) "10"
3) "English"
4) "20"
5) "Math"
6) "30"

5、新增 value 為 hash 型別的值,並獲取值

127.0.0.1:6379> hset test id 123
(integer) 1
127.0.0.1:6379> hset test name jack
(integer) 1

新增完成後即可在 redis 客戶端可以檢視

四、用 Jmeter 對 redis 進行寫入、讀取、刪除

首先去官網下載 jedis 包
https://mvnrepository.com/artifact/redis.clients/jedis
放在 lib 的 ext 目錄下。

方法一:beanshell 讀寫

寫 beanshell 指令碼實現讀取

import redis.clients.jedis.Jedis;
import java.util.ArrayList;
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 value= jedis.get(key);
vars.put("value",value);

提取出來的值可以賦給變數引用

Beanshell 指令碼實現 redis 寫入

jedis.set("student", "jack");
String student= jedis.get("student");
vars.put("student",student);
jedis.close();

方法二:jmeter 外掛 redis data set 讀取

首先在外掛管理器裡安裝 redis data set

配置明細項已經貼在下圖

執行結果如下

五、刪除

jedis.del("student");

執行後檢查 redis 客戶端,已經刪除成功。

Jmeter 介面自動化測試群:704807680

相關文章