Redis

1.Redis基础配置

4_3_1_redis配置

  • 数据库:是否启用该端
  • 网关名:数据中有指定字段,内容固定为此值

    • 请务必确保每个网关中,该名称是全局唯一的
  • IP地址:Redis的服务器的地址

  • 端口:Redis的端口号,默认6379
  • 数据库号:Redis的数据库编号,默认0,范围0-15
  • 密码:仅当Redis端开启密码时,使用此选项;

    • 请勿在Redis端未开启密码时,勾选此选项,导致网关连接Redis失败
  • 在redis端如果有乱码,请在CMD控制台输入chcp 65001,然后再使用如下命令启动redis-cli --raw

2.Redis实时数据配置

4_3_2_redis实时接口

  • 实时数据库:是否将实时数据推送至Redis端
  • 实时表周期:将数据更新至实时表的周期,单位秒,推荐值:30
  • 变值更新:仅在数据值发生变化时,才进行上传操作;推荐此选项,降低网络传输开销
  • 定时发送:多长时间发送一次全部数据,无论值是否发生变更

实时接口数据格式:

  • hash数据类型,使用hmset进行设置,使用hmget进行查询
  • 键值:hash对象的键值,由“网关名_组名_点名”组成
    • 如:网关名是gw1,组名是Group1,点名是Tag1,产生Id字段的值是gw1_Group1_Tag
  • rvalue字段:具体读到子
  • vtype字段:数据类型(str或num)
  • r_status字段:是否读取成功
  • rinfo:在读取出错时,补充的错误信息
  • r_time:该标签的unix时间
  • 需要上传的数据点,请用户在完成上述配置后,再自行配置

查询redis中的实时数据:

  • 示例:hgetall 键值

实时hash对象数据示例:

image-20250227174058782

3.Redis控制接口配置

4_3_3_redis控制接口

  • 控制数据库:是否启用控制接口
  • 控制表周期:网关间隔多久,查询一次是否有"新的控制需求"
  • 单个命令执行间隔:如果设置内容包含多个时,设置下一个子对象前的休眠
  • 定时保持:
    • 不开启此选项时,满足控制表逻辑时,无论成功与否,仅执行一次
    • 开启此选项后,将周期执行"满足控制表逻辑的点"
  • 执行记录:经过控制接口成功执行的操作,是否记录在本地

    • 在控制频繁的场景下,不推荐开启此选项
  • 需要控制的数据点,请用户在完成上述配置后,再自行配置

控制接口数据格式:

  • hash数据类型,使用hmset进行设置,使用hmget进行查询

  • 键值:hash对象的键值,由“网关名_组名_点名”组成

    • 如:网关名是gw1,组名是Group1,点名是Tag1,产生Id字段的值是gw1_Group1_Tag

    • 如果要被设置值的标签仅在控制接口中勾选,用户需要在hash对象中创建该键值

  • setv字段:由用户更新此字段,即要设置的值

  • oldv字段:由网关负责更新此字段的值

  • runtime字段:由用户进行更新

  • exe_time字段:此标签的执行时间

  • exe_status字段:执行成功与否

  • exe_err字段:执行失败的错误原因

控制接口使用的方法:

  • 插入一条数据: hmset gw1_group9_A1 setv 123 runtime 1698221430
  • 查询结果:hmgetall gw1_group9_A1

控制接口的执行逻辑:

  • 当前时间已超过"runtime_v",且"runtime_v"不为0时,将执行该点
  • 当"runtime_v"变更,或"setv_v"与"oldv_v"列值不相等时,执行该点

4.Redis告警接口配置

4_3_4_redis告警接口

  • 告警上传:是否将告警信息推送至Redis端
  • 轮询周期:测是否有告警数据的周期,单位秒,推荐值:30
  • 告警发生的unix时间作为集合的"分数"

网关将告警信息推送到Redis的zset集合中

  • 集合名:由网关名_alarm组成,如网关名是gw1,集合名是gw1_alarm
  • 查询所有告警:zrange 集合名 0 -1

告警zrange对象数据示例:

4_3_4_redis告警接口-2

5.Redis的执行日志接口配置

4_3_5_redis日志接口

  • 日志表名:是否启用将其他端的"执行日志"推送至Redis端
  • 日志发生的unix时间作为集合的"分数"

网关将执行日志信息推送到Redis的zset集合中

  • 集合名:由网关名_log组成,如网关名是gw1,集合名是gw1_log
  • 查询所有执行记录:zrange 集合名 0 -1

日志zrange对象数据示例:4_3_5_redis日志接口-2

6.常见问题

1.LOADING Redis is loading the dataset in memory

  • redis中内存已满,请修改redis配置以及考虑增加服务器内存

results matching ""

    No results matching ""