node-red - 读写操作redis


node-red - 读写操作redis

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

1

一、前期准备

  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

1
2. 刷新node-red:
2
回到目录

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

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

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

充当发布者,使用RPUSH、LPUSH或PUBLISH
主题消息是要发布的密钥名称。
注意:输出仅适用于PUBLISH和返回订阅者数。

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

3.2 redis-cmd节点 - 存储redis数据

  在Redis内部执行命令,将payload数组作为参数发送,并将结果作为payload返回。

  • 节点配置:
    1
  • 实例
    1
    结果:
    1
    1
    点我查看JSON源码 - 附录2:redis -cmd节点示例代码
    点我回到目录

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

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

  • 节点配置:
    1
  • 实例:
    1
    点我查看JSON源码 - 附录3:redis -in节点示例代码
    1

点我回到目录

附录

附录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 -cmd节点示例代码

[{"id": "29990986a0d459cd","type": "function","z": "4df8aefd826300cd","name": "payload","func": "msg.payload = { \"a\": 11, \"b\": 22 };\nreturn msg;","outputs": 1,"noerr": 0,"initialize": "","finalize": "","libs": [],"x": 240,"y": 1140,"wires": [["91d7135cb4ae24bb"]]},{"id": "b34217cbbf7cab5b","type": "inject","z": "4df8aefd826300cd","name": "","props": [{"p": "payload"},{"p": "topic","vt": "str"}],"repeat": "","crontab": "","once": false,"onceDelay": 0.1,"topic": "","payload": "","payloadType": "date","x": 90,"y": 1140,"wires": [["29990986a0d459cd"]]},{"id": "91d7135cb4ae24bb","type": "redis-command","z": "4df8aefd826300cd","server": "a0efbb89.5e42d8","command": "hmset","name": "","topic": "testHmSet","params": "[]","paramsType": "json","payloadType": "json","block": false,"x": 440,"y": 1140,"wires": [["78939c27dc84759b"]]},{"id": "78939c27dc84759b","type": "debug","z": "4df8aefd826300cd","name": "","active": true,"tosidebar": true,"console": false,"tostatus": false,"complete": "false","x": 650,"y": 1140,"wires": []},{"id": "a0efbb89.5e42d8","type": "redis-config","name": "127.0.0.1:6379","options": "{}","cluster": false,"optionsType": "json"}
]

附录3: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"}
]

点我回到目录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/113254.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java eight 解读流(Stream)、文件(File)、IO和异常处理的使用方法

目录 Java 流(Stream)、文件(File)和IO读取控制台输入读写文件FileInputStreamFileOutputStream Java目录 Java 异常处理 Java 流(Stream)、文件(File)和IO java.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。 Java.io 包中的流支持很多种…

matlab-对数据集加噪声并实现tsne可视化

matlab-对数据集加噪声并实现tsne可视化 最近才知道,原来可以不用模型,也能实现对数据集数据的可视化。 **一、**以COIL-100数据集为例子。 问题: 前提:首先对COIL-100数据集根据角度0-175和180-255,分别划分成C1,C…

c++学习之vector的实现

在学习实现vector之前我们会看到对于库中的vector的实现,这里并非使用在学习string那样的定义方式,而是利用迭代器,也就是指针来实现的,这在功能的实现时极大的方便了我们。 那么我们就模仿库这样的方式实现我们呢经常会用到的一些…

PowerBuilder连接SQLITE3

PowerBuilder,一个古老的IDE,打算陆续发些相关的,也许还有人需要,内容可能涉及其他作者,但基本都是基于本人实践整理,如涉及归属,请联系. SQLite,轻型数据库,相对与PowerBuilder来说是个新事务,故发数来,以供参考. PB中使用OLE Microsoft OLE DB方式进行连接,如下 // Profile…

邮件群发的功能特性

自动切换IP登录多账户发送 保证第三方发件邮箱系统发送成功率 由于第三方免费邮箱如同个IP登录多个163账号会造成被屏蔽的问题,我们采用自动拨号vps的方式可全国多个地区自动拨号切换IP,自动保证每个账号同时只登录一个账号发送,更可以多种类型小号混合…

kafka+Kraft模式集群+安全认证

Kraft模式安全认证 前章内容聊到了Kafka的Kraft集群的配置及使用。本篇再来说说kafka的安全认证方面的配置,。 Kafka提供了多种方式来进行安全认证,包括身份认证、授权和加密传输。一些常用的Kafka安全认证方式: SSL/TLS:使用S…

数据库的基本概念

数据库 数据库由表集合组成,它是以一定的组织方式存储的相互有关的数据集合。 表:记录:行,字段(属性):列,以行列的形式就组成了表(数据存储在表中)。 关系数…

学术加油站|基于端到端性能的学习型基数估计器综合测评

编者按 本文系东北大学李俊虎所著,也是「 OceanBase 学术加油站」系列第 11 篇内容。 「李俊虎:东北大学计算机科学与工程学院在读硕士生,课题方向为数据库查询优化,致力于应用 AI 技术改进传统基数估计器,令数据库选…

【LeetCode】3. 无重复字符的最长子串

3. 无重复字符的最长子串(中等) 方法:滑动窗口 哈希表 思路 这道题主要用到思路是:滑动窗口 什么是滑动窗口? 其实就是一个队列,比如例题中的 abcabcbb,进入这个队列(窗口)为 ab…

版本控制 Git工具的使用

版本控制的概念: 版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。简单来说就是用于管理多人协同开发…

LeetCode--HOT100题(46)

目录 题目描述:114. 二叉树展开为链表(中等)题目接口解题思路代码 PS: 题目描述:114. 二叉树展开为链表(中等) 给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链…

【Flutter】Flutter 使用 collection 优化集合操作

【Flutter】Flutter 使用 collection 优化集合操作 文章目录 一、前言二、安装和基本使用三、算法介绍四、如何定义相等性五、Iterable Zip 的使用六、优先队列的实现和应用七、包装器的使用八、完整示例九、总结 一、前言 大家好!我是小雨青年,今天我要…

windows 中pycharm中venv无法激活

1.用管理员身份打开Windows PowerShell 2.进入项目的:venv\Scripts 如:D: (1): cd .\project\venv\Scripts\ (2): 执行命令: Set-ExecutionPolicy RemoteSigned (3): 选择:Y (4): .\activate

树多选搜索查询,搜索后选中状态仍保留

<template><div class"half-transfer"><div class"el-transfer-panel"><div><el-checkbox v-model"selectAll" change"handleSelectAll">全部</el-checkbox></div><el-input v-model&qu…

Stable Diffusion WebUI 整合包

现在网络上出现的各种整合包只是整合了运行 Stable Diffusion WebUI&#xff08;以下简称为 SD-WebUI&#xff09;必需的 Python 和 Git 环境&#xff0c;并且预置好模型&#xff0c;有些整合包还添加了一些常用的插件&#xff0c;其实际与手动进行本地部署并没有区别。 不过&a…

【HMS Core】运动健康之睡眠问题小结

【关键词】 运动健康、睡眠 【问题1】睡眠状态的数据来源只能是手表和手环吗&#xff0c;是否可以从手机获取&#xff1f; 答&#xff1a;可以获取用手机记录睡眠的睡眠记录&#xff0c;如果睡眠时&#xff0c;手机有采集睡眠状态&#xff0c;那么也是可以获取。 【问题2】获…

设计模式 - 工厂模式

前言 假设你开了一家奶茶店&#xff0c;顾客可以点普通奶茶&#xff0c;珍珠奶茶&#xff0c;香芋奶茶和红枣奶茶 一.传统模式 传统模式下&#xff0c;顾客根据名字点单&#xff0c;你获取名字然后做出奶茶。 class MilkTea{string name; public:MilkTea* create(string TeaN…

2023年最新 Github Pages 使用手册

参考&#xff1a;GitHub Pages 快速入门 1、什么是 Github Pages GitHub Pages 是一项静态站点托管服务&#xff0c;它直接从 GitHub 上的仓库获取 HTML、CSS 和 JavaScript 文件&#xff0c;&#xff08;可选&#xff09;通过构建过程运行文件&#xff0c;然后发布网站。 可…

ExpressLRS开源之接收机固件编译烧录步骤

ExpressLRS开源之接收机固件编译烧录步骤 1. 源由2. 编译步骤2.1 推荐源代码指定方案2.2 方法一&#xff1a;ELRS Configurator步骤一&#xff1a;下载ELRS Configurator工具步骤二&#xff1a;安装ELRS Configurator工具步骤三&#xff1a;使用ELRS Configurator工具进行配置步…

拒绝摆烂!C语言练习打卡第七天

&#x1f525;博客主页&#xff1a;小王又困了 &#x1f4da;系列专栏&#xff1a;每日一练 &#x1f31f;人之为学&#xff0c;不日近则日退 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 目录 一、选择题 &#x1f4dd;1.第一题 &#x1f4dd;2.第二题 &#x1f4d…