添加依赖

<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. 团队-Python 爬取豆瓣电影top250-成员简介及分工

    姓名:周鑫 班级:软件6班 团队名称:咣咣踹电脑 擅长:Python,java 分工:编写数据库

  2. unity实现一个物体绕着某点旋转

    transform.RotateAround(o.transform.position,Vector3.up,20*Time.deltaTime);transform.Rotate(Vector3.u ...

  3. springboot深入学习(一)-----springboot核心、配置文件加载、日志配置

    一.@SpringBootApplication @SpringBootApplication是spring boot的核心注解,源码如下: 相当于:@Configuration+@EnableAut ...

  4. 使用express框架和mongoose在MongoDB更新数据

    update方法  modelName.update({需要替换的内容},{“$set”:{新的内容}},function(err,doc){}); User.update({userName:&qu ...

  5. Element类型

    除了document,element类型也算是最常用的类型 Element节点有以下特征: nodeType 值为1 nodeName 元素的标签名 nodeValue 值为null parentNo ...

  6. xtrabackup安装使用及原理

    Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具.Xtrabackup中主要包含两个工具 ...

  7. UISegmentedControl 改变选中字体的颜色

    //设置选中的字体颜色为蓝色    [segmentControll setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor ...

  8. mach_absolute_time 使用

    今天看荣哥时间常用函数封装里有个不常见的函数 ,mach_absolute_time() ,经查询后感觉是个不错的函数,网上关于这个函数搜索以后简单整理来一下. 什么事Mach? 时间例程依赖于所需要 ...

  9. php excel

    项目中需要把excel转为索引数组,不输出key 只说下普世技巧 找了php excel插件 发现需要createReader方法,在sublime中search,可以搜索文件内容,找到使用creat ...

  10. ORA-01653: 表 xxxx 无法通过 8192 (在表空间 USERS 中) 扩展

    Oracle中增加表空间大小的四种方法 1:给表空间增加数据文件 ALTER TABLESPACE app_data ADD DATAFILE ‘D:\ORACLE\PRODUCT\10.2.0\OR ...