influxDb摸河第二步-简单写

上一篇把influxdb安上了也打开了dashboard,这次要往里尝试写入数据

首先统一环境

语言  java -> jdk1.8

项目管理  grandle

一、啥!啥!啥!这些玩意的都是啥!!!

influxdb跟传统数据库在概念上有些不同

 influx传统数据库(mysql为例)
数据库databasedatabse
measurementtable
一行数据point

 

 

 

 

 

 

 

 point是一行数据?! 这玩意是由时间戳time、标签tags、数据fields三部分组成的

point属性含义
time数据记录的时间,是主索引(自动生成)
tags各种有索引的属性
fields各种value值(没有索引的属性)

 

 

 

 

 

就这?先不想了,先想办法搞个example试一试

 二、弄个样例写数据

这时候我在UI界面中翻了翻,发现了一个简单使用的样例

打瞌睡来枕头,代码贴进去看一看

 

照抄倒IDEA里面运行一下,翻来覆去的改改内容,再回到dashboard上面看看结果

package example;
import java.time.Instant;

import com.influxdb.annotations.Column;
import com.influxdb.annotations.Measurement;
import com.influxdb.client.InfluxDBClient;
import com.influxdb.client.InfluxDBClientFactory;
import com.influxdb.client.WriteApi;
import com.influxdb.client.domain.WritePrecision;
import com.influxdb.client.write.Point;

public class InfluxDB2Example {
    public static void main(final String[] args) {
        String token = "4tvIPw5eNMAxJTGcWf6kFtw6bLepK4yUwnhbxRTYH1Ps5cKnEHWkvNyM6EVcnqdXwiBZKu2G6aO0PakRTlDN4A==";
        String bucket = "AxeBuk";
        String org = "AxeOrg";

        InfluxDBClient client = InfluxDBClientFactory.create("http://localhost:8086", token.toCharArray());

        String data = "mem,host=host1 used_percent=23.43234543";
        try (WriteApi writeApi = client.getWriteApi()) {
            writeApi.writeRecord(bucket, org, WritePrecision.NS, data);
        }

        Point point = Point
                .measurement("mem")
                .addTag("host", "host2")
                .addField("used_percent", 32.43234543)
                .time(Instant.now(), WritePrecision.NS);

        try (WriteApi writeApi = client.getWriteApi()) {
            writeApi.writePoint(bucket, org, point);
        }

        Mem mem = new Mem();
        mem.host = "host3";
        mem.used_percent = 24.43234543;
        mem.time = Instant.now();

        try (WriteApi writeApi = client.getWriteApi()) {
            writeApi.writeMeasurement(bucket, org, WritePrecision.NS, mem);
        }


    }

    @Measurement(name = "mem")
    public static class Mem {
        @Column(tag = true)
        String host;
        @Column
        Double used_percent;
        @Column(timestamp = true)
        Instant time;
    }
}

很OK啊,通过代码如何简单的写入至influxdb已经完成咯。

下章来简单读。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值