node-red - 读写操作redis


node-red - 读写操作redis

  • 一、前期准备
  • 二、node-red安装redis节点
  • 三、node-red操作使用redis节点
    • 3.1 redis-out节点 - 存储数据到redis
    • 3.2 redis-in节点 - 查询redis数据
  • 附录
    • 附录1:redis -out节点示例代码
    • 附录2:redis -in节点示例代码

一、前期准备

  1. 安装配置node-red环境:
  • centos通过源文件的方式安装node-red
  • nodered-环境搭建及使用
  1. 安装配置redis:
  • centos - docker安装redis
  • Windows10安装redis(图文教程)

Redis支持的数据结构

回到目录

二、node-red安装redis节点

1.在node-red里面安装redis节点 :

node-red-node-redis
node-red-contrib-redis

node-red - 读写操作redis_第1张图片
2. 刷新node-red:
node-red - 读写操作redis_第2张图片
回到目录

三、node-red操作使用redis节点

3.1 redis-out节点 - 存储数据到redis

1
  redis-out节点负责向redis中存储数据。通过函数传输数据:msg.payload = [“”]为存储的数据;return msg 返回传入到redis out 中。

  • 配置节点:
    (1) server:选择redis实例(可以新建)
    node-red - 读写操作redis_第3张图片
    主要是Name里面填写带端口号的redis服务器地址:IP:端口 (如:127.0.0.1:6379)
    node-red - 读写操作redis_第4张图片
    如果有密码,配置示例如下:
    node-red - 读写操作redis_第5张图片
    (2)Name: 随意命名
    (3)Topic : 为redis中的Key
  • 实例:循环每三秒往redis的test1主题中注入当时时间对应的毫秒数
    node-red - 读写操作redis_第6张图片
    执行结果如下:
    node-red - 读写操作redis_第7张图片
    点我查看JSON源码 - 附录1:redis -out节点示例代码
    点我回到目录

3.2 redis-in节点 - 查询redis数据

1
  redis-in节点负责从redis中读取数据。该节点实时监听redis对应实例的对应的topic的数据,一旦数据有变化,就会有输出返回。

  • 节点配置:
    node-red - 读写操作redis_第8张图片
  • 实例:
    1
    点我查看JSON源码 - 附录2:redis -in节点示例代码
    node-red - 读写操作redis_第9张图片

点我回到目录

附录

附录1:redis -out节点示例代码


JSON源码:

[
    {
        "id": "bdc2f01da279df43",
        "type": "inject",
        "z": "4df8aefd826300cd",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "3",
        "crontab": "",
        "once": true,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "x": 120,
        "y": 520,
        "wires": [
            [
                "bbf61d6ecf48ed99"
            ]
        ]
    },
    {
        "id": "bbf61d6ecf48ed99",
        "type": "function",
        "z": "4df8aefd826300cd",
        "name": "payload",
        "func": "msg.payload= new Date().getTime();\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 280,
        "y": 520,
        "wires": [
            [
                "0d2e6e619a4af685"
            ]
        ]
    },
    {
        "id": "0d2e6e619a4af685",
        "type": "redis-out",
        "z": "4df8aefd826300cd",
        "server": "a0efbb89.5e42d8",
        "command": "rpush",
        "name": "存储test1值",
        "topic": "test1",
        "obj": true,
        "x": 470,
        "y": 520,
        "wires": []
    },
    {
        "id": "a0efbb89.5e42d8",
        "type": "redis-config",
        "name": "127.0.0.1:6379",
        "options": "{}",
        "cluster": false,
        "optionsType": "json"
    }
]

点我回到目录

附录2:redis -in节点示例代码

[
    {
        "id": "e2467fd2210cf09c",
        "type": "redis-in",
        "z": "4df8aefd826300cd",
        "server": "a0efbb89.5e42d8",
        "command": "blpop",
        "name": "查看test01数据",
        "topic": "test1",
        "obj": true,
        "timeout": "3",
        "x": 140,
        "y": 600,
        "wires": [
            [
                "cc8e82282004f50d"
            ]
        ]
    },
    {
        "id": "cc8e82282004f50d",
        "type": "debug",
        "z": "4df8aefd826300cd",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "targetType": "full",
        "statusVal": "",
        "statusType": "auto",
        "x": 310,
        "y": 600,
        "wires": []
    },
    {
        "id": "a0efbb89.5e42d8",
        "type": "redis-config",
        "name": "127.0.0.1:6379",
        "options": "{}",
        "cluster": false,
        "optionsType": "json"
    }
]

点我回到目录

你可能感兴趣的:(redis,数据库,缓存)