当前位置: 首页>后端>正文

influxdb在springboot中的引用 写入无权限 influxdb语句

1.InfluxDB介绍

InfluxDB用Go语言编写的一个开源分布式时序、事件和指标数据,和传统是数据库相比有不少不同的地方。
类似的数据库有Elasticsearch、Graphite等。

特点

提供了Http接口的API来操作数据
提供了类似sql的数据库语句

2.InfluxDB相关名词术语介绍

influxdb在springboot中的引用 写入无权限 influxdb语句,influxdb在springboot中的引用 写入无权限 influxdb语句_sql,第1张

其中,Point由时间戳(time)、数据(field)、标签(tags)组成。

还有一个重要的名词:series

所有在数据库中的数据,都需要通过图表来表示,series表示这个表里面的所有的数据可以在图标上画成几条线(注:线条的个数由tags排列组合计算出来),举例如下:

influxdb在springboot中的引用 写入无权限 influxdb语句,influxdb在springboot中的引用 写入无权限 influxdb语句_sql_02,第2张

3.InfluxDB基本操作

创建数据库与表,和普通关系型数据库类似,如下:
#创建数据库

create database "db_name"

#显示所有的数据库

show databases

#删除数据库

drop database "db_name"

#使用数据库

use db_name

#显示该数据库中所有的表

show measurements

#创建表,直接在插入数据的时候指定表名

insert test,host=127.0.0.1,monitor_name=test count=1

#删除表

drop measurement "measurement_name"

1.通过命令行

insert weather,altitude=1000,area=北 temperature=11,humidity=-4

这样,我们就向数据库中添加了一条数据。

2.通过Http接口
InfluxDB提供了Http的API接口,所以我们也可以通过下面的方式来插入数据。

curl -i -XPOST 'http://localhost:8086/write?db=testDB' --data-binary 'weather,altitude=1000,area=北 temperature=11,humidity=-4'

Line Protocol格式
说明:influxDB存储数据采用的是Line Protocol格式。那么何谓Line Protoco格式?
Line Protocol格式:写入数据库的Point的固定格式,如:

weather,altitude=1000,area=北 temperature=11,humidity=-4

注:
weather : —>表名
altitude=1000,area=北 :—> tag
temperature=11,humidity=-4 :—>field

删与改

在InfluxDB中并没有提供数据的删除与修改方法。
不过我们可以通过数据保存策略(Retention Policies)来实现删除。
1.数据保存策略(Retention Policies)
influxDB是没有提供直接删除数据记录的方法,但是提供数据保存策略,主要用于指定数据保留时间,超过指定时间,就删除这部分数据。
(1)查看当前数据库的Retention Policies

SHOW RETENTION POLICIES ON "testDB"

(2)创建新的Retention Policies

CREATE RETENTION POLICY "rp_name" ON "db_name" DURATION 30d REPLICATION 1 DEFAULT

其中:
rp_name:策略名
db_name:具体的数据库名
30d:保存30天,30天之前的数据将被删除
它具有各种时间参数,比如:h(小时),w(星期)
REPLICATION 1:副本个数,这里填1就可以了
DEFAULT 设为默认的策略
(3)修改Retention Policies

alter retention policy "rp_name" on "db_name" duration 30d default

(4)删除Retention Policies

drop retention policy "rp_name"

1.通过命令行
查询最新的三条数据

SELECT * FROM weather ORDER BY time DESC LIMIT 3

2.通过Http接口

curl -G 'http://localhost:8086/query?pretty=true' --data-urlencode "db=testDB" --data-urlencode "q=SELECT * FROM weather ORDER BY time DESC LIMIT 3"

InfluxDB是支持类SQL语句的,具体的查询语法都差不多,可以直接写sql语句。例如:

influxdb在springboot中的引用 写入无权限 influxdb语句,influxdb在springboot中的引用 写入无权限 influxdb语句_ci_03,第3张


https://www.xamrdz.com/backend/3sy1935836.html

相关文章: