zoukankan      html  css  js  c++  java
  • 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);

    使用 Python 连接 Redis

    地址:https://github.com/MicrosoftArchive/redis/releases

    import redis
    
    class ConnectionRedis:
        def connection_redis(self, host, port, password, db, key):
            conn = redis.Redis(host = host, port = port, password = password, db = db, decode_responses=True)
            value = conn.get(key)
            if len(value) > 0:
                return value
            else:
                return False
  • 相关阅读:
    Go语言环境配置 Sublime Text + GoSublime+ gocode + MarGo组合
    Java中string拼接,StringBuilder,StringBuffer和+
    java调优随记-java对象大小
    java调优随记-堆和栈
    java中一直说一个汉字使用两个字节,原来是不准确的
    kv存储对抗关系型数据库
    记一篇
    变态的静态资源缓存与更新
    git add shh public key
    hashmap 的最优访问
  • 原文地址:https://www.cnblogs.com/scholars-xian/p/11751963.html
Copyright © 2011-2022 走看看