influxdb使用httpAPI接口实现数据库的读写


一、简介

InfluxDB是一个用于存储和分析时间序列数据的开源数据库。

主要特性有:

1、内置HTTP接口,使用方便,直接调用接口实现对数据库的读写
2、数据可以打标记,查让查询可以很灵活
3、类SQL的查询语句
4、安装管理很简单,并且读写数据很高效
5、能够实时查询,数据在写入时被索引后就能够被立即查出
在这里插入图片描述
timestamp:time存着时间戳,这个时间戳以RFC3339格式展示了与特定数据相关联的UTC日期和时间。
field set:每组field key和field value的集合,如butterflies = 3, honeybees = 28
field key/value:在InfluxDB中不能没有field,field没有索引。
tag set:不同的每组tag key和tag value的集合,如location = 1, scientist = langstroth
tag key/value:在InfluxDB中可以没有tag,tag是索引起来的。
measurement: 是一个容器,包含了列time,field和tag。概念上类似表。
retention policy:单个measurement可以有不同的retention policy。measurement默认会有一个autogen的保留策略,autogen中的数据永不删除且备份数replication为1(只有一份数据,在集群中起作用)。
格式:
data, a=123,b=456 c=“qwe”,d=19 1602829997
其中data类似数据库的表名,a和b为tag,c和d为fied,最后为时间戳

二、本地安装

https://portal.influxdata.com/downloads/
下载对应操作系统的版本解压即可,

三、可视化软件

InfluxDBStudio-0.2.0
在这里插入图片描述
下载地址:
https://github.com/CymaticLabs/InfluxDBStudio/releases/tag/v0.2.0-beta.1
解压运行即可

四、http API接口实现数据库的读写

以下只演示了python代码请求接口,其他语言皆可

  1. 查询(get请求)
import requests
a = requests.get("http://127.0.01:8086/query?db=my&q=SELECT * FROM data") 
#其中db为数据库名,q为查询语句
print(a.text)

在这里插入图片描述

  1. 写入(post请求)
import requests
headers = {'Content-Type': 'text/plain'} #设置请求头为文本
datas = "cpu_load_short3,host=server05,region=us-west value=1.99 1602812432" 
# cpu_load_short3为表名(没有即自动创建),host、region为tag,value为fied 最后为时间戳(需与请求里的precision格式一致)
r = requests.post("http://127.0.0.1:8086/write?db=my&precision=s", data=datas, headers=headers) 
#db为数据库名,precison为时间戳精度(rfc3339, h, m, s, ms, u or ns.)
print(r)  #响应为<Response [204]>表示写入成功

在这里插入图片描述

总结

注意,如果使用命令行的curl去访问接口如:

# 查看数据库
curl -G 'http://localhost:8086/query?pretty=true' --data-urlencode "db=mydb" --data-urlencode "q=show databases"
# 插入一条数据(数据最后字段为手动指定时间戳)
curl -i -XPOST 'http://localhost:8086/write?db=mydb' --data-binary 'cpu_load_short,host=server01,region=us-west value=0.64 1434055562000000000'

请把所有的单引号(‘)换成双引号(“)如:

# 查看数据库
curl -G "http://localhost:8086/query?pretty=true" --data-urlencode "db=mydb" --data-urlencode "q=show databases"

才能成功,别问我为什么,我也想知道为什么!!

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值