如何使用JMeter从Redis的Hash数据结构中获取数据

问题描述

我是使用安装了Redis数据集(版本0.3)的JMeter 5.3进行质量检查的人。 在测试中,我想使用Redis数据集从Redis数据库获取数据。问题在于数据存储在哈希数据结构中,但是Redis数据集不支持哈希(仅列表或集合)。 我的问题是:通过JMeter从Redis的哈希中获取数据的方式不同吗?还是今天无法实现?您知道是否有计划向该插件添加哈希支持吗? 预先感谢您的答复。最好的问候。

解决方法

您有3个选择:

  1. 声明不可能

  2. 尝试通过JMeter Plugins Support Forum与Redis插件开发人员/维护人员联系,并要求尽快实现此功能

  3. 使用JSR223 Test Elements and Groovy language从Redis哈希条目读取数据,可以相对简单地完成。假设给定示例here

    HSET myhash field1 "Hello"
    

    您可以在任何合适的JSR223测试元素中读取以下值:

    def jedis = new redis.clients.jedis.Jedis('your_redis_host',your_redis_port)
    def value = jedis.hget('myhash','field1')
    

    演示:

    enter image description here

    有关JMeter中Groovy脚本的更多信息:Apache Groovy - Why and How You Should Use It