添加依赖

<dependency>
<groupId>org.influxdb</groupId>
<artifactId>influxdb-java</artifactId>
<version>2.5</version>
</dependency>

Java实例

package com.ysl.influx;

import org.influxdb.InfluxDB;
import org.influxdb.InfluxDBFactory; public class InfluxDBUtils { private String userName;
private String password;
private String url; private InfluxDB influxDB; public InfluxDBUtils(String url,String userName, String password) {
this.userName = userName;
this.password = password;
this.url = url;
} public InfluxDB builder(){
if(influxDB == null){
synchronized (this){
if(influxDB == null){
influxDB = InfluxDBFactory.connect(url,userName,password);
}
}
}
return influxDB;
} public String getUserName() {
return userName;
} public void setUserName(String userName) {
this.userName = userName;
} public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
} public String getUrl() {
return url;
} public void setUrl(String url) {
this.url = url;
} public InfluxDB getInfluxDB() {
return influxDB;
} public void setInfluxDB(InfluxDB influxDB) {
this.influxDB = influxDB;
}
}
package com.ysl.influx;

import org.influxdb.InfluxDB;
import org.influxdb.dto.Point;
import org.influxdb.dto.Query;
import org.influxdb.dto.QueryResult; import java.util.Map;
public class InfluxdbService { private String database;
private String policyName;
private InfluxDB influxDB; public InfluxdbService(String database, String policyName, InfluxDB influxDB) {
this.database = database;
this.policyName = policyName;
this.influxDB = influxDB;
} public void createDatabase(){
influxDB.createDatabase(database);
} /**
* 建保存策略
* @param duration 存放时间
* @param replicationNum 备份数量
*/
public void createRetentionPolicy(String duration, Integer replicationNum){
String cmd = String.format("CREATE RETENTION POLICY %s ON %s DURATION %s REPLICATION %s DEFAULT",policyName,database,duration,replicationNum);
influxDB.query(new Query(cmd,database));
} public QueryResult query(String cmd){
return influxDB.query(new Query(cmd,database));
} /**
* 插入数据
* @param measurement 表名
* @param tags
* @param fields
*/
public void insert(String measurement,Map<String,String> tags,Map<String,Object> fields){
Point.Builder builder = Point.measurement(measurement).tag(tags);
if(fields != null && !fields.isEmpty()){
builder.fields(fields);
}
influxDB.write(database,policyName,builder.build());
} public String getDatabase() {
return database;
} public String getPolicyName() {
return policyName;
} public InfluxDB getInfluxDB() {
return influxDB;
}
}
package com.ysl.influx;

import org.influxdb.InfluxDB;
import org.influxdb.dto.QueryResult; import java.util.HashMap;
import java.util.List;
import java.util.Map; public class InfluxdbTest { /**
* 数据库名
*/
private static final String DB_NAME = "influx_test"; /**
* 数据保存策略
*/
private static final String retentionPolicy = "influx_name"; public static void main(String[] args){ InfluxDB influxDB = new InfluxDBUtils("http://localhost:8086/", "user", "pass").builder();
InfluxdbService service = new InfluxdbService(DB_NAME,retentionPolicy,influxDB); service.createDatabase(); service.createRetentionPolicy("30d", ); Map<String, String> tags = new HashMap<>();
tags.put("methodName", "getName");
Map<String, Object> fields = new HashMap<>();
fields.put("rt", );
fields.put("tps", );
service.insert("measurementKey", tags, fields); // 查询数据
QueryResult queryResult = service.query("select * from \"measurementKey\"");
List<QueryResult.Result> results = queryResult.getResults();
if (results != null && results.size() > ) {
for (QueryResult.Result result : results) {
System.out.println(result.toString());
}
}
}
}

InfluxDB Java入门的更多相关文章

  1. Java入门第一章

    后天就是十一长假了,亲们准备好了去哪儿玩了吗? 今天有点空,就来聊聊Java吧,当然是一些Java入门知识了,网上有很多,这里我只是列举一些我自己学到的,感谢大家关注喵的博客这么久,也为大家带来点新知 ...

  2. [Java入门笔记] 面向对象编程基础(二):方法详解

    什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...

  3. 第1章Java入门体验

    第1章Java入门体验 1.java简介和平台应用 Java是sun公司开发出来,现在属于ORACLE公司java分为几个部分:首先是最基础的Java SE部分,这部分是Java的基础知识,主要包括: ...

  4. Java入门记(五):容器关系的梳理(下)——Map

    注意:阅读本文及相关源码时,需要数据结构相关知识,包括:哈希表.链表.红黑树. Map是将键(key)映射到值(value)的对象.不同的映射不能包含相同的键:每个键最多只能映射到一个值.下图是常见M ...

  5. Java入门(二)——果然断更的都是要受惩罚的。。。

    断更了一个多月,阅读量立马从100+跌落至10-,虽说不是很看重这个,毕竟只是当这个是自己的学习笔记,但有人看,有人评论,有人认同和批评的感觉还是很巴适的,尤其以前有过却又被剥夺的,惨兮兮的. 好好写 ...

  6. Android初涉及之Android Studio&JAVA入门--二月不能不写东西

    是的,我还没有放弃写博客. 是的,我也没有放弃PHP的学习. 是的,我要开始学学最TM火的Android开发了. 你呢 1.Android Studio 一.概况 安装和配置什么的就不具体说了,网上一 ...

  7. JAVA手记 JAVA入门(安装+Dos下运行)

    JAVA入门特供= =,今天设置环境变量后用dos运行的时候发现出现“找不到或无法加载主类”,索性查了些资料重新看了看JAVA入门的部分. 声明:我的笔记本暂时用的是Win10系统,Windows其他 ...

  8. Java入门教程总目录

    Java入门教程总目录 持续更新中... 1.Java常识汇总 2.Java框架对比 3.Java技术路线 4.Java编码规范 5.Java环境变量配置 6.枚举 7.操作符 12.定时任务

  9. Java入门的程序汇总

    Java入门的基础程序,虽然很简单,也要多练习,下面有重点的总结一下 1.HelloWorld这个不说了 2.常量与变量部分 基本数据类型使用 public class Javashujuleixin ...

随机推荐

  1. 惊讶于word 的流畅

    word 这个产品 的操作流畅 比自家产品OneNote 比wps 强的太多 用后的体验是,再用其他的编译文字的软件,便感觉操作不畅,不流利,不舒服.(使人曾经沧海难为水,自然而然的不用别人的产品,w ...

  2. Hadoop3集群搭建之——hive添加自定义函数UDTF

    上篇: Hadoop3集群搭建之——虚拟机安装 Hadoop3集群搭建之——安装hadoop,配置环境 Hadoop3集群搭建之——配置ntp服务 Hadoop3集群搭建之——hive安装 Hadoo ...

  3. 2018.11.08 NOIP模拟 水管(简单构造)

    传送门 仔细读题会发现只要所有点点权之和等于0一定有解. 如何构造? 直接当做树来构造就行了,非树边都赋值成0就行. 代码

  4. 如何将本地代码通过git上传到码云

    ps:同部署到GitHub上一样 http://www.cnblogs.com/pcx105/p/7777932.html

  5. poj--2299(树状数组+离散化)

    一.离散化: https://www.cnblogs.com/2018zxy/p/10104393.html 二.逆序数 AC代码: #include<iostream> #include ...

  6. hdu-1042(大数+万进制)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1042 参考文章:https://blog.csdn.net/tigerisland45/article ...

  7. (17)Questioning the universe

    https://www.ted.com/talks/stephen_hawking_asks_big_questions_about_the_universe/transcript00:13There ...

  8. boost-字符编码转换:使用conv

    Windows下的字符集转换可以使用WideCharToMultiByte/ MultiByteToWideChar,Linux下字符集转换可以使用iconv()函数,下面为使用boost的conv来 ...

  9. 学以致用十三-----Centos7.2+python3+YouCompleteMe成功历程

    历经几天的摸索,趟过几趟坑之后,终于完成YouCompleteMe的安装配置. 今天同样是个不能忘记的日子,国耻日,勿忘国耻.(9.18) 服务器安装好,基本配置配置好后,开始安装. ======== ...

  10. 适配android和iOS上position:absolute和input问题

    //适配android上absolute和input的问题var oHeight = $(document).height(); //屏幕当前的高度$(window).resize(function( ...