首页 > 其他 > 详细

RabbitMQ 入门 (Go) - 7. 数据持久化(下)【完】

时间:2021-04-10 22:43:32      阅读:21      评论:0      收藏:0      [点我收藏+]

数据库

我使用的是 PostgreSQL

使用的驱动是 github.com/lib/pq

这个网址 https://pkg.go.dev/github.com/lib/pq 是官方文档。

 

创建数据表

打开 PostgreSQL 的管理工具 pgAdmin 4web 版),创建一个数据库:

技术分享图片

 

 

 

数据库名叫 distributed

技术分享图片

 

 

 

 

创建数据表

首先创建 sensor 表,里面存放传感器信息:

技术分享图片

 

 

 

 

列如下,其中id 是自增主键:

技术分享图片

 

 

 里面需要有传感器的数据,名称要和批处理文件中传感器的名称要一致。

 

另一个表是 sensor_reading,里面存放传感器的数值:

技术分享图片

 

 

 

安装驱动

在项目的根目录使用命令:go get -u github.com/lib/pq 进行安装。

 

然后建立 datamanager 包,里面的文件如下:

技术分享图片

 

获得数据库连接

先看 db.go

技术分享图片

这里就是获得一个数据库连接存放在 db 变量里,它是包内可访问的。

 

存储数据

再看 sensorreader.go,它的作用是将传感器的数值存入到数据库:

技术分享图片

这个逻辑很简单,就不介绍了。

 

最后在 exec 包中建立 main.go

技术分享图片

  1. 首先获得 RabbitMQ 的连接和 Channel,然后通过 Channel 从持久化 Queue 获得数据。

  2. 对数据进行解码,存储到数据库中

  3. 如果没有错误,最后使用 Ack 方法来通知 Queue 消息已经被妥善的处理了,可以将它从 Queue 里面移除了。

 

运行测试

运行之前的批处理文件,还要运行 datamanager

技术分享图片

 

查看数据表,里面就有数据了:

技术分享图片

 

 

 

RabbitMQ 入门 (Go) - 7. 数据持久化(下)【完】

原文:https://www.cnblogs.com/yangxu-pro/p/RabbitMQ-Go-7.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!