java、python及jmeter操做redis(接口自動化必備)

redis是nosql數據庫之一,其存儲結構簡單,提供高性能服務,因此在架構中是很經常使用的。html

在作接口自動化測試過程當中,有時也會涉及到redis,好比:發送短信驗證碼,咱們作接口自動化測試,如何模擬發送短信驗證碼呢?java

通常來講,短信驗證碼都是存儲到redis中的,且有過時時間,咱們徹底能夠直接往redis裏面插入一個k-v來模擬發送短信驗證碼,因此,就得學會java、python及jmeter操做redis了。python

java操做redis

建立項目

建立maven項目,添加依賴git

<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.9.0</version>
</dependency> 

鏈接redis

System.out.println("---鏈接redis---");
Jedis jedis = new Jedis("192.168.168.168",6379);
jedis.auth("test123");  // redis數據庫的密碼
jedis.select(0);  // 哪怕註釋這行,也沒問題,由於默認就是選擇的db0
jedis.flushDB(); 

string

System.out.println("\n---string---");
jedis.set("name","jack");
String name = jedis.get("name");  // 返回的string
System.out.println("name: " + name);

結果:redis

---string---
name: jacksql

list

System.out.println("\n---list---");
jedis.lpush("testlist", "aaa", "bbb", "ccc");
System.out.println(jedis.lrange("testlist",0,-1));
List<String> keys = jedis.lrange("testlist",0,-1);  // 返回的list
System.out.println(keys);

結果:shell

---list---
[ccc, bbb, aaa]
[ccc, bbb, aaa]數據庫

set

System.out.println("\n---set---");
jedis.sadd("testset", "a", "b", "c");
System.out.println(jedis.smembers("testset"));
Set<String> keys2 = jedis.smembers("testset");  // 返回的set
System.out.println(keys2);

結果:apache

---set---
[b, a, c]
[b, a, c]架構

zset

System.out.println("\n---zset---");
jedis.zadd("testzset",10,"aa");
jedis.zadd("testzset",20,"bb");
jedis.zadd("testzset",30,"cc");
System.out.println(jedis.zrange("testzset", 0, -1));
Set<String> keys3 = jedis.zrange("testzset", 0, -1);  // 返回的set
System.out.println(keys3);

結果:

---zset---
[aa, bb, cc]
[aa, bb, cc]

hash

System.out.println("\n---hash---");
jedis.hset("testhash", "name", "lucy");
jedis.hset("testhash", "age", "18");
Set<String> keys4 = jedis.hkeys("testhash");  // 返回的set
System.out.println(keys4);
for (String key:keys4){
    System.out.println(key+"="+jedis.hget("testhash",key));
}

結果:

[name, age]
name=lucy
age=18

獲取全部key

System.out.println("\n---獲取全部key---");
Set<String> keys5 = jedis.keys("*");  // 返回的set
System.out.println(keys5);

結果:

---獲取全部key---
[testlist, name, testzset, testhash, testset]

關閉鏈接

jedis.close();

python操做redis

參考:https://gitee.com/UncleYong/my_rf/blob/master/db_operate/redis_operate.py

jmeter操做redis

下載jar包,下載地址:https://mvnrepository.com/,獲取點擊左側加羣獲取。

放到以下目錄,即:D:\apache-jmeter-5.1.1\lib\ext

清空redis中db0

beanshell腳本

import redis.clients.jedis.Jedis;

Jedis jedis = new Jedis("192.168.168.168",6379);

jedis.auth("test123");
jedis.select(0);
jedis.hset("mobile:13888088168","vefication","168168");
jedis.close();

運行上面腳本,而後經過命令查看添加的結果

更多redis命令,參考:http://www.javashuo.com/article/p-gxgabqub-ba.html

相關文章
相關標籤/搜索