当前位置: 首页 > news >正文

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"}
]

点我回到目录

相关文章:

node-red - 读写操作redis

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

【图像处理】模板匹配的学习笔记

OpenCV的模板匹配算法 cv.TM_CCOEFFcv.TM_CCOEFF_NORMEDcv.TM_CCORRcv.TM_CCORR_NORMEDcv.TM_SQDIFFcv.TM_SQDIFF_NORMED 匹配代码模板 image cv2.imread(r"scene.png", cv2.IMREAD_GRAYSCALE) template cv2.imread(r"element.png", cv2.IMREAD_GRAYSC…...

Ext JS之Ext Direct快速入门

Ext Direct是一个专有名词, Direct是直接的意思。 Ext Direct 是 Ext JS 框架中的一个功能模块,用于简化前端 JavaScript 应用程序与后端服务器之间的通信和数据交换。 Ext Direct 提供了一种直接的、透明的方式来调用服务器上的方法和处理服务器响应,而无需编写大量的手动…...

内网隧道技术学习

1. 隧道技术 在进行渗透测试以及攻防演练的时候,通常会存在各种边界设备、软硬件防火墙、IPS等设备来检测外部连接情况,这些设备如果发现异常,就会对通信进行阻断。 那么隧道技术就是一种绕过端口屏蔽的通信方式,在实际情况中防…...

【前端】CSS3新特性

目录 一、前言二、伪元素选择器1、选择器2、注意事项3、代码示例 三、伪元素清除浮动1、第一种伪元素清除浮动2、第二种伪元素清除浮动 四、CSS3盒子模型1、box-sizing:content-box2、box-sizing:border-box 五、CSS3图片模糊处理1、图片变模糊①、CSS3滤…...

Spring之HandlerInterceptor和RequestBodyAdvice

一个请求在Spring中处理流程是有多种方式拦截处理的,而且,请求是可以拆分为进入和响应2个操作的,进入我们通常会对请求参数做处理,而响应我们通常会对响应参数做处理,Spring提供了多种方式给开发者。 一、HandlerInte…...

transition、transform 区别和应用

先说应用 1.动画循环,复杂的动画用animation。在遇到很复杂的动画那就用animation。因为animation可以定义关键帧。那你就可以控制每一帧的动画效果。 2.简单的动画,事件触发用transition。当页面中的动画是自己执行的那么我们考虑用animation&#xf…...

Android中级——消息机制

消息机制 概念ThreadLocalMessageQueueLooperHandlerrunOnUiThread() 概念 MessageQueue:采用单链表的方法存储消息列表Looper:查询MessageQueue是否有新消息,有则处理,无则等待ThreadLocal:用于Handler获取当前线程的…...

【kubernetes】使用KubeSphere devops部署我的微服务系统

KubeSphere Devops 入门使用KubeSphere的Devops功能部署"我的微服务系统" (内容学习于尚硅谷云原生课程) kubesphere devops官方文档: https://v3-1.docs.kubesphere.io/zh/docs/devops-user-guide/how-to-use/create-a-pipeline-u…...

【哈士奇赠书活动 - 37期】- 〖深入浅出SSD:固态存储核心技术、原理与实战 第2版〗

文章目录 ⭐️ 赠书 - 《深入浅出SSD:固态存储核心技术、原理与实战 第2版》⭐️ 内容简介⭐️ 作者简介⭐️ 编辑推荐⭐️ 赠书活动 → 获奖名单 ⭐️ 赠书 - 《深入浅出SSD:固态存储核心技术、原理与实战 第2版》 ⭐️ 内容简介 本书从基础认知、核心技…...

25.CSS自定义形状按钮与悬停效果

效果 源码 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>CSS Custom Shape Button</title><link rel="stylesheet" href="style.css"> </head> <body&…...

两条速度相差1350倍的sql语句

一起来学习研究下&#xff0c;看看是什么导致的这么大差别&#xff1a; SQL1: select * from RESOURCES where RES_STATUS 1 and PLATFORM_FLAG1 and RES_ID in (select RES_ID from DOWNLOADRECORDSwhere DOWNLOADRECORDS_TIME > DATE_SUB(now(),INTERVAL 7 DAY) grou…...

【UniApp开发小程序】小程序首页完善(滑到底部数据翻页、回到顶端、基于回溯算法的两列数据高宽比平衡)【后端基于若依管理系统开发】

文章目录 说明细节一&#xff1a;首页滑动到底部&#xff0c;需要查询下一页的商品界面预览页面实现 细节二&#xff1a;当页面滑动到下方&#xff0c;出现一个回到顶端的悬浮按钮细节三&#xff1a;商品分列说明优化前后效果对比使用回溯算法实现ControllerService回溯算法 优…...

使用errors.Wrapf()代替log.Error()

介绍不同语言的错误处理机制: Error handling patterns[1] Musings about error handling mechanisms in programming languages[2] 项目中 main调func1&#xff0c;func1调取func2... 这样就会出现很多的 if err ! nil { log.Printf()} , 在Kibana上查看时会搜到多条日志, 需要…...

企业面临的IP风险,如何应对?

IP风险画像为企业或组织在知识产权领域面临的潜在风险和威胁的综合概览。通过对相关知识产权的保护和管理&#xff0c;企业可以预测和应对潜在的法律、商业和声誉风险。 IP数据云帮助企业更好地了解和应对知识产权方面的风险。并提供了关于当前全球知识产权环境的重要信息&…...

L1-046 整除光棍(Python实现) 测试点全过

题目 这里所谓的“光棍”&#xff0c;并不是指单身汪啦~ 说的是全部由1组成的数字&#xff0c;比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如&#xff0c;111111就可以被13整除。 现在&#xff0c;你的程序要读入一个整数x&#xff0c;这个整…...

《Web安全基础》04. 文件上传漏洞

web 1&#xff1a;文件上传漏洞2&#xff1a;WAF 绕过2.1&#xff1a;数据溢出2.2&#xff1a;符号变异2.3&#xff1a;数据截断2.4&#xff1a;重复数据 本系列侧重方法论&#xff0c;各工具只是实现目标的载体。 命令与工具只做简单介绍&#xff0c;其使用另见《安全工具录》…...

文本匹配实战系列

引言 本系列文章开始介绍深度学习在文本匹配领域的应用&#xff0c;并且会尝试得到各种模型在给定的数据集上的表现。 深度文本匹配发展比较久&#xff0c;积累了很多文本匹配方法。也有很多的分类方式&#xff0c;一种分类方式是表示型和交互型。 表示型方法 表示型(repre…...

【Kafka】Kafka Stream简单使用

一、实时流式计算 1. 概念 一般流式计算会与批量计算相比较。在流式计算模型中&#xff0c;输入是持续的&#xff0c;可以认为在时间上是无界的&#xff0c;也就意味着&#xff0c;永远拿不到全量数据去做计算。同时&#xff0c;计算结果是持续输出的&#xff0c;也即计算结果…...

在Linux服务器上,查看系统最近的重启记录

在Linux服务器上&#xff0c;您可以查看系统的重启记录以了解系统何时进行了重启。系统的重启记录通常被记录在系统日志文件中。以下是在不同Linux发行版上查看系统重启记录的方法&#xff1a; 1. 使用 last 命令&#xff1a; 打开终端&#xff0c;并输入以下命令来查看系统的…...

Vue2023 面试归纳及复习

1. Vue 3中的Composition API&#xff08;Hooks&#xff09;是什么&#xff1f;它与Options API有何不同&#xff1f; 答&#xff1a;Composition API是Vue 3中引入的一种新的API风格&#xff0c; 用于组织和重用组件逻辑。它与Options API相比&#xff0c; 提供了更灵活和可…...

Android动态可编辑长度列表

概述 在界面实现一个列表&#xff0c;用户可以随意给列表新增或者删除项目&#xff0c;在开发中比较常用&#xff0c;但是真正做起来又有点花时间&#xff0c;今天花时间做一个&#xff0c;以便在以后的开发中用到。 详细 运行效果&#xff1a; 二、实现思路&#xff1a; 1…...

合并对象在 Typescript 中的实现与应用

合并对象在 Typescript 中的实现与应用 文章目录 合并对象在 Typescript 中的实现与应用一、简介二、实现1、函数实现2、参数说明3、返回值 三、使用示例四、实际应用场景五、拓展&#xff1a;使用 lodash-es 的 assign 函数进行对象合并1、简介2、安装与导入3、基础用法4、注意…...

antd upload组件beforeUpload返回promise之后,获取的文件不是file类型导致上传失败

之前的beforeUpload直接返回一个false值 &#xff0c;文件是可以正常与服务端进行传输的 beforeUpload: (file) > {return false},但是这样并不能阻止文件上传&#xff0c;看了官方文档后&#xff0c;改用返回promise对象上传 beforeUpload: (file) > {console.log(-befo…...

创建ffmpeg vs2019工程

0 写在前面 本文主要参考链接&#xff1a;https://www.cnblogs.com/suiyek/p/15669562.html 感谢作者的付出&#xff1b; 1 目录结构 2 下载yasm和nasm 如果自己在安装VS2019等IDE的时候已经安装了它们&#xff0c;则不用再单独进行安装&#xff0c;比如我这边已经安装了&a…...

无涯教程-机器学习 - Jupyter Notebook函数

Jupyter笔记本基本上为开发基于Python的数据科学应用程序提供了一个交互式计算环境。它们以前称为ipython笔记本。以下是Jupyter笔记本的一些功能,使其成为Python ML生态系统的最佳组件之一- Jupyter笔记本可以逐步排列代码,图像,文本,输出等内容,从而逐步说明分析过程。 它有…...

ubuntu安装单机的Consul

文章目录 场景解决启动方式 场景 公司使用Consul做注册发现中心以及管理配置&#xff0c;之前没有用过consul, 现在记录下ubuntu部署的过程 解决 apt 安装 wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-…...

聊聊mybatis-plus的sql加载顺序

序 本文主要研究一下如果mybatis mapper定义了多个同名方法会不会有问题 MybatisConfiguration com/baomidou/mybatisplus/core/MybatisConfiguration.java /*** MybatisPlus 加载 SQL 顺序&#xff1a;* <p> 1、加载 XML中的 SQL </p>* <p> 2、加载 SqlP…...

基于jeecg-boot的flowable流程审批时增加下一个审批人设置

更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a; https://gitee.com/nbacheng/nbcio-boot 前端代码&#xff1a;https://gitee.com/nbacheng/nbcio-vue.git 在线演示&#xff08;包括H5&#xff09; &#xff1a; http://122.227.135.243:9888 因为有时…...

HTML 与 CSS 有什么区别?

HTML&#xff08;超文本标记语言&#xff09;和 CSS&#xff08;层叠样式表&#xff09;是构建网页的两个核心技术。HTML负责定义网页的结构和内容&#xff0c;而CSS则用于控制网页的样式和布局。虽然它们在构建网页时密切相关&#xff0c;但它们在功能和用途上有明显的区别。 …...