ASP.NET Core 2 읽 기 및 쓰기 InfluxDB 순차 데이터베이스 방법 튜 토리 얼
우리 의 많은 응용 에서 일련의 시간 을 바탕 으로 하 는 데 이 터 를 처리 해 야 한다.시간의 순 서 를 통 해 이런 데이터 점 을 선 으로 연결 한 다음 에 데이터 통 계 를 통 해 다 위도 보고 서 를 만 들 수도 있 고 기계 학습 을 통 해 데이터 의 예측 경 고 를 실현 할 수도 있다.타 이 밍 데이터 베 이 스 는 이러한 시간 순서 데 이 터 를 저장 하고 관리 하 는 데 사용 되 며 타 이 밍 데이터 베 이 스 는 일반적으로 타 이 밍 데이터 의 빠 른 기록,지속 화,다 위도 집합 조회 등 기본 기능 을 지원 합 니 다.
InfluxDB 소개
InfluxDB 는 시간 서열 데 이 터 를 기반 으로 개발 한 고성능 데이터 저장 플랫폼 으로 순차 데 이 터 를 높 은 스루풋 으로 섭취 하고 압축 하 며 실시 간 으로 조회 할 수 있다.InfluxDB 는 Go 언어 로 작 성 된 것 으로 외부 의존 이 없 는 바 이 너 리 파일 로 컴 파일 되 어 자바,자바 스 크 립 트,c\#등 언어 를 지원 합 니 다.InfluxDB 는 SQL 과 유사 한 조회 언어 를 지원 하 며 정규 표현 식,산술 표현 식,시간 서열 특정 함수 도 지원 하여 데이터 처리 효율 을 가속 화 합 니 다.다음은 InfluxDB 와 관련 된 사이트 입 니 다.
InfluxDB 홈 페이지:https://www.influxdata.com/
InfluxDB 공식 문서:https://docs.influxdata.com/influxdb/
InfluxDB 공식 다운로드:https://portal.influxdata.com/downloads
InfluxDB 클 라 이언 트 도구 다운로드:https://docs.influxdata.com/influxdb/v1.6/tools/api_client_libraries/
특징:
4.567917.구조 없 음(모드 없 음):임 의 수량의 열 일 수 있 습 니 다metric 의 저장 시간 을 설정 할 수 있 습 니 다
인 플 루 룩 스 DB 를 어떻게 조작 하 는 지 간단하게 소개 하 겠 습 니 다.이런 조작 을 통 해 기본적으로 업무 상의 수 요 를 만족 시 킬 수 있 습 니 다.influx DB 를 조작 하면 명령 행 도 구 를 사용 할 수 있 고 소스 를 여 는 클 라 이언 트 도 구 를 사용 할 수 있 습 니 다.저 는'influx DBStudio'라 는 이름 으로 C\#를 기반 으로 작 성 된 소스 오픈 도 구 를 사용 합 니 다.자주 사용 하 는 코드 는 다음 과 같 습 니 다.
#
show users
#
create user "username" with password 'password'
#
create user "username" with password 'password' with all privileges
#
drop user "username"
#
create database "db_name"
#
show databases
#
drop database "db_name"
#
use db_name
#
show measurements
# , , test
insert test,host=127.0.0.1,monitor_name=test count=1
#
drop measurement "measurement_name"
#
select * from test order by time desc
# (Retention Policies)
show retention policies on "db_name"
#
#rp_name:
#db_name: ;
#3w: 3 ,3 ,influxdb , :h( ),d( ),w( )
#replication 1: , 1
#default:
create retention policy "rp_name" on "db_name" duration 3w replication 1 default
#
alter retention policy "rp_name" on "db_name" duration 30d default
#
drop retention policy "rp_name"
# (Continous Queries)
show continuous queries
# (Continous Queries)
#cq_name:
#db_name:
#sum(count):
#table_name:
#new_table_name:
#30m: 30
create continous query cq_name on db_name begin select sum(count) into new_table_name from table_name group by time(30m) end
#
drop continous query cp_name on db_name
이루어지다상술 한 소개 와 조작 을 통 해 우 리 는 이미 기본적으로 InfluxDB 데이터베이스 에 익숙 해 졌 다.그러면 다음은 ASP.NET Core 2 프로그램 에서 InfluxDB 데이터 베 이 스 를 어떻게 읽 고 쓰 는 지 살 펴 보 자.여기 서 우 리 는'InfluxData.Net'이라는 제3자 라 이브 러 리 를 빌려 InfluxDB 와 상호작용 을 한다.'InfluxData.Net'라 이브 러 리 를 바탕 으로 데이터 베 이 스 를 간단하게 읽 고 쓸 수 있다.ASP.NET Core 2 프로젝트 에서 Nuget 관리 자 를 통 해"InfluxData.Net"라 이브 러 리 를 참조 한 후 구현 코드 를 입력 하면 다음 과 같 습 니 다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using InfluxData.Net.Common.Enums;
using InfluxData.Net.InfluxDb;
using InfluxData.Net.InfluxDb.Models;
using Microsoft.AspNetCore.Mvc;
namespace WebApplication1.Controllers
{
public class InfoController : Controller
{
// InfluxDbClient
private InfluxDbClient clientDb;
public InfoController()
{
// InfluxDb API 、 、
var infuxUrl = "http://localhost:8086/";
var infuxUser = "admin";
var infuxPwd = "admin";
// InfluxDbClient
clientDb = new InfluxDbClient(infuxUrl, infuxUser, infuxPwd, InfluxDbVersion.Latest);
}
/// <summary>
/// InfluxDB
/// </summary>
public async void GetData()
{
// ,
var queries = new[]
{
" SELECT * FROM Reading WHERE time> now() - 24h "
};
var dbName = "code-hub";
//
var response = await clientDb.Client.QueryAsync(queries, dbName);
// Serie ( )
var series = response.ToList();
// ,
var list = series[0].Values;
//
var info_model = list.FirstOrDefault();
}
/// <summary>
/// InfluxDB
/// </summary>
public async void AddData()
{
// InfluxData.Net.InfluxDb.Models.Point
var point_model = new Point()
{
Name = "Reading",//
Tags = new Dictionary<string, object>()
{
{ "Id", 158}
},
Fields = new Dictionary<string, object>()
{
{ "Val", "webInfo" }
},
Timestamp = DateTime.UtcNow
};
var dbName = "code-hub";
// ,
var response = await clientDb.Client.WriteAsync(point_model, dbName);
}
}
}
총결산1.InfluxDB 는 전문 적 인 타 이 밍 데이터 베이스 로 타 이 밍 라 이브 러 리 를 통 해 응용 중의 타 이 밍 데 이 터 를 더욱 효율 적 으로 처리 할 수 있 습 니 다.
2.InfluxDB 라 이브 러 리 를 사용 할 때 이 라 이브 러 리 의 일부 특색 기능,예 를 들 어 데이터 저장 전략,연속 조회 등 을 알 아야 한다.
3."InfluxData.Net"라 이브 러 리 를 통 해 빠 르 고 간편 하 게 ASP.NET Core 2 프로그램 에서 InfluxDB 에 대한 읽 기와 쓰기 작업 을 실현 할 수 있 습 니 다.
자,이상 이 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
InfluxDB를 사용하여 하루의 환경 데이터 집계InfluxDB를 이용하여 하루의 환경 데이터를 집계했기 때문에 절차를 함께 둡니다. 지금까지 가정 채소밭에서 환경 모니터링으로 외기온도, 상대습도, 토양수분, 토양온도를 취득했습니다. 취득한 데이터를 InfluxD...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.