添加依赖

<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. 关于进行pdf的每页广告去除、转换word等方案。

    pdf转word经常使用的是 软件下载安装破解完成以后进行编辑pdf,可以导出word,效果比一般的word自带的转换效果要好. 在进行pdf的每页去除页脚或者页眉的广告时候,使用pdf的替换功能.这 ...

  2. 49.UILable宽度高度自适应

    第一种: UILabel *labl = [[UILabel alloc]init]; labl.backgroundColor = [UIColor redColor]; labl.numberOf ...

  3. 鲍姆-韦尔奇算法求解HMM参数

    1. HMM模型参数求解概述 HMM模型参数求解根据已知的条件可以分为两种情况. 第一种情况较为简单,就是我们已知DD个长度为TT的观测序列和对应的隐藏状态序列,即{(O1,I1),(O2,I2),. ...

  4. 2018.11.01 NOIP训练 图论(线段树+倍增+dfs序)

    传送门 一道挺妙的题. 对于询问点(u,v),如右图所示,我们可以发现存在一个点m在u->v的路径中,m子树的点到u是最近的,m子树外到v是最近的.其中dis(u,m)=(dis(u,v)-1) ...

  5. js中定时器相关

    每三秒(3000 毫秒)弹出 "Hello" : setInterval(function(){ alert("Hello"); }, 3000); setIn ...

  6. 使用 docker compose 安装 tidb

    目标 : 单机上通过 Docker Compose 快速一键部署一套 TiDB 测试集群 前提条件: 1.centos版本在7.3 以上 2.安装git 3.安装docker Docker versi ...

  7. (6)How language shapes the way we think

    https://www.ted.com/talks/lera_boroditsky_how_language_shapes_the_way_we_think/transcript 00:12So, I ...

  8. Codeforces Round #513 by Barcelona Bootcamp C. Maximum Subrectangle(双指针+思维)

    https://codeforces.com/contest/1060/problem/C 题意 给两个数组,a数组有n个元素,b数组有m个元素,两个数组元素互相相乘形成n*m的矩阵,找一个子矩阵,元 ...

  9. shell知识积累

    Ubuntu下常用的快捷键:https://blog.csdn.net/u010771356/article/details/53543041 变量名和等号之间不能有空格,变量名中间不能有空格,可以使 ...

  10. 补全爬取的url

    有时爬取到的href不全,如href=‘/11031/’解决方法:from urllib import parseurl=parse.urljoin(response.url,get_url)resp ...