RuleGo RuleGo
🏠首页
  • 快速入门
  • 规则链
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 可视化
  • RuleGo-Server
  • RuleGo-MCP-Server
  • AOP
  • 触发器
  • 高级主题
  • 性能
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 组件市场
  • 概述
  • 快速入门
  • 路由
  • DSL
  • API
  • Options
  • 组件
🔥编辑器 (opens new window)
  • 可视化编辑器 (opens new window)
  • RuleGo-Server (opens new window)
  • ❓问答

    • FAQ
💖支持
👥加入社区
  • Github (opens new window)
  • Gitee (opens new window)
  • GitCode (opens new window)
  • 更新日志 (opens new window)
  • English
  • 简体中文
🏠首页
  • 快速入门
  • 规则链
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 可视化
  • RuleGo-Server
  • RuleGo-MCP-Server
  • AOP
  • 触发器
  • 高级主题
  • 性能
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 组件市场
  • 概述
  • 快速入门
  • 路由
  • DSL
  • API
  • Options
  • 组件
🔥编辑器 (opens new window)
  • 可视化编辑器 (opens new window)
  • RuleGo-Server (opens new window)
  • ❓问答

    • FAQ
💖支持
👥加入社区
  • Github (opens new window)
  • Gitee (opens new window)
  • GitCode (opens new window)
  • 更新日志 (opens new window)
  • English
  • 简体中文

广告采用随机轮播方式显示 ❤️成为赞助商
  • 快速入门

  • 规则链

  • 标准组件

  • 扩展组件

    • 扩展组件概述
    • 过滤器

    • 转换器

    • 外部的

      • redis客户端
        • 配置
        • Relation Type
        • 执行结果
        • 配置示例
        • 应用示例
      • kafka客户端
      • nats客户端
      • rabbitmq客户端
      • opengemini写客户端
      • opengemini读客户端
      • MongoDB户端
      • redis发布
      • gRPC客户端
      • OpenTelemetry
      • BeanstalkdWorker
      • BeanstalkdTube
      • WukongimSender
    • AI

    • CI

    • IoT

  • 自定义组件

  • 组件市场

  • 可视化

  • AOP

  • 触发器

  • 高级主题

  • RuleGo-Server

  • 问题

目录

redis客户端

x/redisClient组件:redis客户端。可以执行redis命令。

# 配置

该组件允许通关过server字段复用共享的redis连接客户端。参考组件连接复用 。

字段 类型 说明 默认值
server string redis服务器地址 无
password string 密码 无
poolSize int 连接池大小 0
db int 数据库 无
cmd string redis执行命令,例如:SET/GET/Del,可以使用${}占位符替换metadata元数据 无
paramsExpr v0.23.0+ string 动态参数表达式。 无
params array 执行命令参数,可以使用组件配置变量 无

paramsExpr和params同时存在则优先使用paramsExpr。例如:["myhash2", "field1", "value1"]

表达式可以通过以下变量取值:

  • 通过id变量访问消息ID
  • 通过ts变量访问消息时间戳
  • 通过data变量访问消息原始内容
  • 通过msg变量访问消息体,如果消息的dataType是json类型,可以通过 msg.XX方式访问msg的字段。例如:msg.values;
  • 通过metadata变量访问消息元数据。例如 metadata.customerName
  • 通过type变量访问消息类型
  • 通过dataType变量访问数据类型

表达式例子:

  • upper(msg.name)
  • metaData.productType
  • msg.temperature+50
  • replace(metaData.productType,'oldValue','newValue')

更多expr表达式语法参考: expr (opens new window)

# Relation Type

  • Success: 执行成功,把消息发送到Success链
  • Failure: 执行失败,把消息发送到Failure链

# 执行结果

执行结果替换到msg.Data,流转到下一个节点。

# 配置示例

{
  "id": "s5",
  "type": "x/redisClient",
  "name": "保存到redis",
  "debugMode": true,
  "configuration": {
    "cmd": "SET",
    "params": ["${key}", "${msg.data}"],
    "poolSize": 10,
    "Server": "192.168.1.1:6379"
  }
}
1
2
3
4
5
6
7
8
9
10
11
12

# 应用示例

应用示例参考:redisClient (opens new window)

{
  "ruleChain": {
    "id":"chain_msg_type_switch",
    "name": "测试规则链-msgTypeSwitch",
    "root": false,
    "debugMode": false
  },
  "metadata": {
    "nodes": [
      {
        "id": "s1",
        "type": "msgTypeSwitch",
        "name": "过滤",
        "debugMode": true
      },
      {
        "id": "s2",
        "type": "log",
        "name": "记录日志1",
        "debugMode": true,
        "configuration": {
          "jsScript": "return msgType+':s2--'+JSON.stringify(msg);"
        }
      },
      {
        "id": "s3",
        "type": "log",
        "name": "记录日志2",
        "debugMode": true,
        "configuration": {
          "jsScript": "return msgType+':s3--'+JSON.stringify(msg);"
        }
      },
      {
        "id": "s5",
        "type": "x/redisClient",
        "name": "保存到redis",
        "debugMode": true,
        "configuration": {
          "cmd": "SET",
          "params": ["${key}", "${msg.data}"],
          "poolSize": 10,
          "Server": "192.168.1.1:6379"
        }
      },
	{
        "id": "s6",
        "type": "x/redisClient",
        "name": "保存到redis",
        "debugMode": true,
        "configuration": {
          "cmd": "SET",
          "params": ["${key}", "${value}"],
          "poolSize": 10,
          "Server": "192.168.1.1:6379"
        }
      }
    ],
    "connections": [
      {
        "fromId": "s1",
        "toId": "s2",
        "type": "TEST_MSG_TYPE1"
      },
      {
        "fromId": "s1",
        "toId": "s3",
        "type": "TEST_MSG_TYPE2"
      },
      {
        "fromId": "s3",
        "toId": "s5",
        "type": "Success"
      },
  		{
        "fromId": "s2",
        "toId": "s6",
        "type": "Success"
      }
    ]
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
在 GitHub 上编辑此页 (opens new window)
上次更新: 2025/04/02, 01:29:50
lua脚本转换器
kafka客户端

← lua脚本转换器 kafka客户端→

Theme by Vdoing | Copyright © 2023-2025 RuleGo Team | Apache 2.0 License

  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式