ASP.NET Core2 읽기/쓰기 InfluxDB 시퀀스 데이터베이스
InfluxDB 소개
InfluxDB는 시간 시퀀스 데이터를 기반으로 개발된 고성능 데이터 저장 플랫폼으로 시간 시퀀스 데이터에 대해 높은 흡수량의 촬영, 압축과 실시간 조회를 할 수 있다.Go 언어로 작성된 InfluxDB는 Java, JavaScript, 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/
InfluxDB 작업
InfluxDB를 어떻게 조작하는지 간단히 소개할 것이며, 이러한 조작을 통해 기본적으로 업무상의 수요를 만족시킬 수 있다.InfluxDB를 조작하는 데는 명령행 도구를 사용할 수도 있고, 소스 오픈 클라이언트 도구를 빌릴 수도 있다. 내가 사용하는 것은 'InfluxDBStudio' 라는 C#를 기반으로 작성된 소스 오픈 도구이다.일반적으로 사용되는 작업의 코드는 다음과 같습니다.
1 #
2 show users
3
4 #
5 create user "username" with password 'password'
6
7 #
8 create user "username" with password 'password' with all privileges
9
10 #
11 drop user "username"
12
13 #
14 create database "db_name"
15
16 #
17 show databases
18
19 #
20 drop database "db_name"
21
22 #
23 use db_name
24
25 #
26 show measurements
27
28 # , , test
29 insert test,host=127.0.0.1,monitor_name=test count=1
30
31 #
32 drop measurement "measurement_name"
33
34 #
35 select * from test order by time desc
36
37 # (Retention Policies)
38 show retention policies on "db_name"
39
40 #
41 #rp_name:
42 #db_name: ;
43 #3w: 3 ,3 ,influxdb , :h( ),d( ),w( )
44 #replication 1: , 1
45 #default:
46 create retention policy "rp_name" on "db_name" duration 3w replication 1 default
47
48 #
49 alter retention policy "rp_name" on "db_name" duration 30d default
50
51 #
52 drop retention policy "rp_name"
53
54 # (Continous Queries)
55 show continuous queries
56
57 # (Continous Queries)
58 #cq_name:
59 #db_name:
60 #sum(count):
61 #table_name:
62 #new_table_name:
63 #30m: 30
64 create continous query cq_name on db_name begin select sum(count) into new_table_name from table_name group by time(30m) end
65
66 #
67 drop continous query cp_name on db_name
68
이루어지다
상술한 소개와 조작을 통해 우리는 InfluxDB 데이터베이스에 대해 기본적으로 익숙해졌으니 다음에 ASP에서 함께 살펴보자.NET Core2 프로그램에서는 InfluxDB 데이터베이스를 읽고 쓰는 방법을 설명합니다.여기서 우리는'InfluxData.Net'이라는 제3자 라이브러리를 빌려 InfluxDB와 상호작용 통신을 한다.'InfluxData.Net'라이브러리를 바탕으로 우리는 데이터베이스의 읽기와 쓰기 작업을 간단하게 완성할 수 있다.ASP에서.NET Core2 프로젝트에서 Nuget 관리자를 통해 "Influx Data.Net"라이브러리를 참조한 후 구현 코드를 다음과 같이 입력합니다.
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Threading.Tasks;
5 using InfluxData.Net.Common.Enums;
6 using InfluxData.Net.InfluxDb;
7 using InfluxData.Net.InfluxDb.Models;
8 using Microsoft.AspNetCore.Mvc;
9
10 namespace WebApplication1.Controllers
11 {
12 public class InfoController : Controller
13 {
14 // InfluxDbClient
15 private InfluxDbClient clientDb;
16
17 public InfoController()
18 {
19 // InfluxDb API 、 、
20 var infuxUrl = "http://localhost:8086/";
21 var infuxUser = "admin";
22 var infuxPwd = "admin";
23
24 // InfluxDbClient
25 clientDb = new InfluxDbClient(infuxUrl, infuxUser, infuxPwd, InfluxDbVersion.Latest);
26 }
27
28
29 ///
30 /// InfluxDB
31 ///
32 public async void GetData()
33 {
34 // ,
35 var queries = new[]
36 {
37 " SELECT * FROM Reading WHERE time> now() - 24h "
38 };
39 var dbName = "code-hub";
40
41 //
42 var response = await clientDb.Client.QueryAsync(queries, dbName);
43 // Serie ( )
44 var series = response.ToList();
45 // ,
46 var list = series[0].Values;
47 //
48 var info_model = list.FirstOrDefault();
49 }
50
51
52
53 ///
54 /// InfluxDB
55 ///
56 public async void AddData()
57 {
58 // InfluxData.Net.InfluxDb.Models.Point
59 var point_model = new Point()
60 {
61 Name = "Reading",//
62 Tags = new Dictionary<string, object>()
63 {
64 { "Id", 158}
65 },
66 Fields = new Dictionary<string, object>()
67 {
68 { "Val", "webInfo" }
69 },
70 Timestamp = DateTime.UtcNow
71 };
72 var dbName = "code-hub";
73
74 // ,
75 var response = await clientDb.Client.WriteAsync(point_model, dbName);
76 }
77 }
78 }
총결산
1. InfluxDB는 전문적인 시차 데이터베이스로 시차 라이브러리를 통해 응용 프로그램의 시차 데이터를 더욱 효율적으로 처리할 수 있습니다.
2. InfluxDB 라이브러리를 사용할 때 먼저 이 라이브러리의 일부 특색 기능, 예를 들어 데이터 저장 정책, 연속 조회 등을 알아야 한다.
3、"InfluxData.Net"라이브러리를 통해 ASP에 신속하고 간편하게 도움을 줄 수 있습니다.NET Core2 프로그램에서 InfluxDB에 대한 읽기/쓰기 작업을 수행합니다.
성명
본문은 작가의 오리지널입니다. 전재는 출처와 원문 주소를 비고해 주십시오. 감사합니다.만약 글이 당신에게 도움을 줄 수 있다면 추천이나 관심을 눌러 주십시오. 당신의 지지에 감사 드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.