This is an automated email from the ASF dual-hosted git repository.
zhaoqingran pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hertzbeat.git
The following commit(s) were added to refs/heads/master by this push:
new 79017f363 [doc] remove and translate chinese to english in warehous
(#1773)
79017f363 is described below
commit 79017f3634056b10c66fb522d7f46bc4d5a081d9
Author: xuziyang <[email protected]>
AuthorDate: Thu Apr 18 15:35:27 2024 +0800
[doc] remove and translate chinese to english in warehous (#1773)
Co-authored-by: Logic <[email protected]>
---
warehouse/pom.xml | 2 +-
.../hertzbeat/warehouse/WarehouseWorkerPool.java | 3 +-
.../warehouse/config/WarehouseProperties.java | 44 ++--------------------
.../controller/MetricsDataController.java | 19 +++++-----
.../store/AbstractRealTimeDataStorage.java | 1 -
.../store/HistoryGrepTimeDbDataStorage.java | 7 +---
.../store/HistoryInfluxdbDataStorage.java | 4 +-
.../warehouse/store/HistoryIotDbDataStorage.java | 24 ++++++------
.../warehouse/store/MetricsDataRedisCodec.java | 1 -
.../warehouse/store/RealTimeMemoryDataStorage.java | 1 -
.../warehouse/store/RealTimeRedisDataStorage.java | 1 -
11 files changed, 30 insertions(+), 77 deletions(-)
diff --git a/warehouse/pom.xml b/warehouse/pom.xml
index 3a45e2df6..b0e22e8c2 100644
--- a/warehouse/pom.xml
+++ b/warehouse/pom.xml
@@ -85,7 +85,7 @@
<artifactId>iotdb-session</artifactId>
<version>${iotdb-session.version}</version>
</dependency>
- <!-- influxdb 这里支持1.7版本因此使用influxdb-java,
完全支持2.x版本需要使用influxdb-client-java -->
+ <!-- Influxdb supports version 1.7 so use influxdb-java, full support
for 2.0. The X version requires influxdb-client-java -->
<dependency>
<groupId>org.influxdb</groupId>
<artifactId>influxdb-java</artifactId>
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/WarehouseWorkerPool.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/WarehouseWorkerPool.java
index d189f0fe5..77174a8a3 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/WarehouseWorkerPool.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/WarehouseWorkerPool.java
@@ -28,7 +28,6 @@ import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
/**
- * warehouse 工作线程池
* warehouse worker thread pool
*/
@Component
@@ -42,7 +41,7 @@ public class WarehouseWorkerPool {
}
private void initWorkExecutor() {
- // 线程工厂
+ // Thread factory
ThreadFactory threadFactory = new ThreadFactoryBuilder()
.setUncaughtExceptionHandler((thread, throwable) -> {
log.error("workerExecutor has uncaughtException.");
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/WarehouseProperties.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/WarehouseProperties.java
index 1d841ea86..2efd1ac00 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/WarehouseProperties.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/config/WarehouseProperties.java
@@ -23,19 +23,17 @@ import java.time.ZoneId;
import java.util.List;
/**
- * 数据仓储配置属性
- * Data warehousing configuration properties
+ * Data warehouse configuration properties
*/
@ConfigurationProperties(prefix = "warehouse")
public class WarehouseProperties {
/**
- * 数据入口配置属性 Data entry configuration properties
+ * Data entry configuration properties
*/
private EntranceProperties entrance;
/**
- * 数据存储配置属性
* Datastore configuration properties
*/
private StoreProperties store;
@@ -57,15 +55,12 @@ public class WarehouseProperties {
}
/**
- * 数据入口配置属性
- * 入口可以是从kafka rabbitmq rocketmq等消息中间件获取数据
* Data entry configuration properties
* The entrance can be to obtain data from message middleware such as
kafka rabbitmq rocketmq
*/
public static class EntranceProperties {
/**
- * kafka配置信息
* kafka configuration information
*/
private KafkaProperties kafka;
@@ -79,28 +74,23 @@ public class WarehouseProperties {
}
/**
- * kafka配置信息
* kafka configuration information
*/
public static class KafkaProperties {
/**
- * kafka数据入口是否启动
* Whether kafka data entry is started
*/
private boolean enabled = true;
/**
- * kafka的连接服务器url
* kafka connection server url
*/
private String servers = "127.0.0.1:9092";
/**
- * 接收数据的topic名称
* Topic name to receive data
*/
private String topic;
/**
- * 消费者组ID
* Consumer group ID
*/
private String groupId;
@@ -141,7 +131,6 @@ public class WarehouseProperties {
}
/**
- * 调度数据出口配置属性
* Scheduling data export configuration properties
*/
public static class StoreProperties {
@@ -152,18 +141,15 @@ public class WarehouseProperties {
private JpaProperties jpa;
/**
- * 内存存储配置信息
* Memory storage configuration information
*/
private MemoryProperties memory;
/**
- * influxdb配置信息
* influxdb configuration information
*/
private InfluxdbProperties influxdb;
/**
- * redis配置信息
* redis configuration information
*/
private RedisProperties redis;
@@ -172,12 +158,10 @@ public class WarehouseProperties {
*/
private VictoriaMetricsProperties victoriaMetrics;
/**
- * TdEngine配置信息
* TdEngine configuration information
*/
private TdEngineProperties tdEngine;
/**
- * IoTDB配置信息
* IoTDB configuration information
*/
private IotDbProperties iotDb;
@@ -251,17 +235,14 @@ public class WarehouseProperties {
}
/**
- * 内存存储配置信息
* Memory storage configuration information
*/
public static class MemoryProperties {
/**
- * 内存数据存储是否启动
* Whether memory data storage is enabled
*/
private boolean enabled = true;
/**
- * 内存存储map初始化大小
* Memory storage map initialization size
*/
private Integer initSize = 1024;
@@ -284,7 +265,6 @@ public class WarehouseProperties {
}
/**
- * JPA配置信息
* JPA configuration information
*/
public static class JpaProperties {
@@ -329,37 +309,30 @@ public class WarehouseProperties {
}
/**
- * Influxdb配置信息
* Influxdb configuration information
*/
public static class InfluxdbProperties {
/**
- * influxdb数据存储是否启动
* Is the influxdb data store started?
*/
private boolean enabled = false;
/**
- * influxdb的连接服务器url
* Influxdb connection server url
*/
private String serverUrl;
/**
- * 用户名
* username
*/
private String username;
/**
- * 密码
- * passowrd
+ * password
*/
private String password;
/**
- * 过期时间
* Expiration
*/
private String expireTime = "30d";
/**
- * 副本数
* Number of copies
*/
private int replication = 1;
@@ -414,7 +387,6 @@ public class WarehouseProperties {
}
/**
- * TdEngine配置信息
* TdEngine configuration information
*/
public static class TdEngineProperties {
@@ -552,27 +524,22 @@ public class WarehouseProperties {
*/
public static class RedisProperties {
/**
- * redis数据存储是否启动
* Whether the redis data store is started
*/
private boolean enabled = false;
/**
- * redis 主机host
* redis host
*/
private String host = "127.0.0.1";
/**
- * redis 主机端口
* redis host port
*/
private Integer port = 6379;
/**
- * redis 访问密码
* redis password
*/
private String password;
/**
- * redis 使用数据库,默认为DB0
* redis uses the database, the default is DB0
*/
private Integer db = 0;
@@ -619,7 +586,6 @@ public class WarehouseProperties {
}
/**
- * IoTDB配置信息
* IoTDB configuration information
*/
public static class IotDbProperties {
@@ -668,11 +634,8 @@ public class WarehouseProperties {
/**
* save data expire time(ms),-1 means it never expires
* Data storage time (unit: ms,-1 means never expire)
- * 数据存储时间(单位:ms,-1代表永不过期)
* Note: Why is String used here instead of Long?
- * 注:这里为什么使用String而不是Long?
* At present, the set ttl of IoTDB only supports milliseconds
as a unit, and other units may be added later, so the String type is used for
compatibility
- * 目前IoTDB的set ttl只支持毫秒作为单位,后面可能会添加其他单位,为了兼容后面所以使用String类型
*
* Data storage time (unit: ms, -1 means never expires)
* Note: Why use String instead of Long here?
@@ -763,7 +726,6 @@ public class WarehouseProperties {
}
/**
- * GrepTimeDB配置信息
* GrepTimeDB configuration information
*/
public static class GreptimeProperties {
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/controller/MetricsDataController.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/controller/MetricsDataController.java
index 4de7bbfa3..31b506c11 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/controller/MetricsDataController.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/controller/MetricsDataController.java
@@ -49,12 +49,11 @@ import static
org.apache.hertzbeat.common.constants.CommonConstants.FAIL_CODE;
import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE;
/**
- * 指标数据查询接口
* Indicator data query interface
*/
@RestController
@RequestMapping(produces = {APPLICATION_JSON_VALUE})
-@Tag(name = "Metrics Data API | 监控指标数据API")
+@Tag(name = "Metrics Data API | The API for monitoring metric data")
public class MetricsDataController {
private static final Integer METRIC_FULL_LENGTH = 3;
@@ -70,7 +69,7 @@ public class MetricsDataController {
}
@GetMapping("/api/warehouse/storage/status")
- @Operation(summary = "Query Warehouse Storage Server Status", description
= "查询仓储下存储服务的可用性状态")
+ @Operation(summary = "Query Warehouse Storage Server Status", description
= "Query the availability status of the storage service under the warehouse")
public ResponseEntity<Message<Void>> getWarehouseStorageServerStatus() {
boolean available = false;
if (historyDataStorages != null) {
@@ -84,7 +83,7 @@ public class MetricsDataController {
}
@GetMapping("/api/monitor/{monitorId}/metrics/{metrics}")
- @Operation(summary = "Query Real Time Metrics Data", description =
"查询监控指标的实时指标数据")
+ @Operation(summary = "Query Real Time Metrics Data", description = "Query
real-time metrics data of monitoring indicators")
public ResponseEntity<Message<MetricsData>> getMetricsData(
@Parameter(description = "Monitor Id", example = "343254354")
@PathVariable Long monitorId,
@@ -144,17 +143,17 @@ public class MetricsDataController {
}
@GetMapping("/api/monitor/{monitorId}/metric/{metricFull}")
- @Operation(summary = "查询监控的指定指标的历史数据", description = "查询监控下的指定指标的历史数据")
+ @Operation(summary = "Queries historical data for a specified metric for
monitoring", description = "Queries historical data for a specified metric
under monitoring")
public ResponseEntity<Message<MetricsHistoryData>> getMetricHistoryData(
- @Parameter(description = "监控任务ID", example = "343254354")
+ @Parameter(description = "monitor the task ID", example =
"343254354")
@PathVariable Long monitorId,
- @Parameter(description = "监控指标全路径", example = "linux.cpu.usage")
+ @Parameter(description = "monitor metric full path", example =
"linux.cpu.usage")
@PathVariable() String metricFull,
- @Parameter(description = "标签过滤,默认空", example = "disk2")
+ @Parameter(description = "label filter, empty by default", example
= "disk2")
@RequestParam(required = false) String label,
- @Parameter(description = "查询历史时间段,默认6h-6小时:s-秒、m-分, h-小时, d-天,
w-周", example = "6h")
+ @Parameter(description = "query historical time period, default
6h-6 hours: s-seconds, M-minutes, h-hours, d-days, w-weeks", example = "6h")
@RequestParam(required = false) String history,
- @Parameter(description =
"是否计算聚合数据,需查询时间段大于1周以上,默认不开启,聚合降样时间窗口默认为4小时", example = "false")
+ @Parameter(description = "aggregate data calc. off by default;
4-hour window, query limit >1 week", example = "false")
@RequestParam(required = false) Boolean interval
) {
AbstractHistoryDataStorage historyDataStorage =
historyDataStorages.stream()
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/AbstractRealTimeDataStorage.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/AbstractRealTimeDataStorage.java
index 297404165..cb91ab6ad 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/AbstractRealTimeDataStorage.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/AbstractRealTimeDataStorage.java
@@ -25,7 +25,6 @@ import org.springframework.lang.NonNull;
import java.util.List;
/**
- * 实时数据存储抽象类
* Real-time data storage abstract class
*/
@Slf4j
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryGrepTimeDbDataStorage.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryGrepTimeDbDataStorage.java
index 9bea786f3..c45c30481 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryGrepTimeDbDataStorage.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryGrepTimeDbDataStorage.java
@@ -88,7 +88,6 @@ public class HistoryGrepTimeDbDataStorage extends
AbstractHistoryDataStorage {
/**
* Checks if the database exists; if not, creates the Database.
- * 检查数据库是否存在;如果不存在,则创建该数据库
*/
private boolean createDatabase() {
// 查询现有数据库
@@ -108,8 +107,7 @@ public class HistoryGrepTimeDbDataStorage extends
AbstractHistoryDataStorage {
}
}
- // Check if the database exists;
- // 检查现有数据库是否包括“hertzbeat”
+ // Check if the existing database includes“Hertzbeat”
boolean isDatabaseExist = false;
if (result != null && result.isOk()) {
QueryOk queryOk = result.getOk();
@@ -126,7 +124,6 @@ public class HistoryGrepTimeDbDataStorage extends
AbstractHistoryDataStorage {
}
}
// If it does not exist, create database
- // 如果“hertzbeat”数据库不存在,则创建该数据库
if (!isDatabaseExist) {
QueryRequest createDatabase = QueryRequest.newBuilder()
.exprType(SelectExprType.Sql)
@@ -339,7 +336,7 @@ public class HistoryGrepTimeDbDataStorage extends
AbstractHistoryDataStorage {
log.error(e.getMessage(), e);
}
}
- // TODO greptime未找到合适的sql函数处理,暂时使用代码实现,将来greptime更新文档改用sql实现
+ // TODO 'greptime' did not find the proper SQL function processing,
temporarily using code implementation, future 'greptime' update documents using
SQL implementation
long endTime;
long startTime = getExpireTimeFromToken(history);
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryInfluxdbDataStorage.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryInfluxdbDataStorage.java
index 0aaceb3bd..43ad0219a 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryInfluxdbDataStorage.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryInfluxdbDataStorage.java
@@ -111,14 +111,14 @@ public class HistoryInfluxdbDataStorage extends
AbstractHistoryDataStorage {
}
}
- // 创建数据库
+ // create the database
String createDatabaseSql = String.format(CREATE_DATABASE, DATABASE);
QueryResult createDatabaseResult = this.influxDb.query(new
Query(createDatabaseSql));
if (createDatabaseResult.hasError()) {
log.error("create database {} in influxdb error, msg: {}",
DATABASE, createDatabaseResult.getError());
return false;
}
- // 设置过期时间
+ // set the expiration time
String createRetentionPolicySql =
String.format(CREATE_RETENTION_POLICY, DATABASE, DATABASE,
influxdbProperties.getExpireTime(),
influxdbProperties.getReplication());
QueryResult createRetentionPolicySqlResult = this.influxDb.query(new
Query(createRetentionPolicySql));
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryIotDbDataStorage.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryIotDbDataStorage.java
index 9c4d2ca4e..72f6a3743 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryIotDbDataStorage.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryIotDbDataStorage.java
@@ -162,7 +162,7 @@ public class HistoryIotDbDataStorage extends
AbstractHistoryDataStorage {
}
try {
if (NEVER_EXPIRE.equals(expireTime)) {
- // 删除原本可能已经存在的ttl
+ // DELETE TTL that might already exist
String cancelTtlSql = String.format(CANCEL_TTL, STORAGE_GROUP);
this.sessionPool.executeNonQueryStatement(cancelTtlSql);
} else {
@@ -170,7 +170,7 @@ public class HistoryIotDbDataStorage extends
AbstractHistoryDataStorage {
this.sessionPool.executeNonQueryStatement(sstTtlSql);
}
} catch (IoTDBConnectionException | StatementExecutionException e) {
- // 失败不影响主业务
+ // Failure does not affect the primary business
log.error("IoTDB init ttl error, expireTime: {}, error: {}",
expireTime, e.getMessage());
}
}
@@ -186,8 +186,8 @@ public class HistoryIotDbDataStorage extends
AbstractHistoryDataStorage {
}
List<MeasurementSchema> schemaList = new ArrayList<>();
- // todo MeasurementSchema是在客户端生成的数据结构,编码和压缩没有作用
- // todo 需要使用指定的数据结构,还是需要手动创建timeSeries或template
+ // todo Measurement schema is a data structure that is generated on
the client side, and encoding and compression have no effect
+ // todo Do you want to use the specified data structure, or do you
want to create a timeSeries or template manually
List<CollectRep.Field> fieldsList = metricsData.getFieldsList();
for (CollectRep.Field field : fieldsList) {
MeasurementSchema schema = new MeasurementSchema();
@@ -214,7 +214,7 @@ public class HistoryIotDbDataStorage extends
AbstractHistoryDataStorage {
String label = JsonUtil.toJson(labels);
String deviceId = getDeviceId(metricsData.getApp(),
metricsData.getMetrics(), metricsData.getId(), label, false);
if (tabletMap.containsKey(label)) {
- // 避免Time重复
+ // Avoid Time repeats
now++;
} else {
tabletMap.put(label, new Tablet(deviceId, schemaList));
@@ -265,13 +265,13 @@ public class HistoryIotDbDataStorage extends
AbstractHistoryDataStorage {
selectSql = String.format(QUERY_HISTORY_SQL, addQuote(metric),
deviceId, history);
handleHistorySelect(selectSql, "", instanceValuesMap);
} else {
- // 优先查询底下所有存在device, 如果存在底下所有device的数据, 否则查询deviceId的数据
+ // First query all the devices below, if there is data for all
the devices below, otherwise query the data for the deviceId
List<String> devices = queryAllDevices(deviceId);
if (devices.isEmpty()) {
selectSql = String.format(QUERY_HISTORY_SQL,
addQuote(metric), deviceId, history);
handleHistorySelect(selectSql, "", instanceValuesMap);
} else {
- // todo 改造成一个select查询: select device1.metric,
device2.metric from xxx
+ // todo Transform to a select query: Select Device 1.0.
Metric, Device2. Metric from XXX
for (String device : devices) {
String prefixDeviceId = getDeviceId(app, metrics,
monitorId, null, false);
String instanceId =
device.substring(prefixDeviceId.length() + 1);
@@ -303,7 +303,7 @@ public class HistoryIotDbDataStorage extends
AbstractHistoryDataStorage {
}
} finally {
if (dataSet != null) {
- // 需要关闭结果集!!!否则会造成服务端堆积
+ // need to close the result set! ! ! otherwise it will cause
server-side heap
this.sessionPool.closeResultSet(dataSet);
}
}
@@ -377,7 +377,7 @@ public class HistoryIotDbDataStorage extends
AbstractHistoryDataStorage {
log.error(e.getMessage(), e);
} finally {
if (dataSet != null) {
- // 需要关闭结果集!!!否则会造成服务端堆积
+ // need to close the result set! ! ! otherwise it will cause
server-side heap
this.sessionPool.closeResultSet(dataSet);
}
}
@@ -403,7 +403,7 @@ public class HistoryIotDbDataStorage extends
AbstractHistoryDataStorage {
log.error(e.getMessage(), e);
} finally {
if (dataSet != null) {
- // 需要关闭结果集!!!否则会造成服务端堆积
+ // need to close the result set! ! ! otherwise it will cause
server-side heap
this.sessionPool.closeResultSet(dataSet);
}
}
@@ -411,7 +411,7 @@ public class HistoryIotDbDataStorage extends
AbstractHistoryDataStorage {
}
/**
- * 获取设备id
+ * gets the device ID
* 有instanceId的使用 ${group}.${app}.${metrics}.${monitor}.${labels} 的方式
* 否则使用 ${group}.${app}.${metrics}.${monitor} 的方式
* 查询时可以通过 ${group}.${app}.${metrics}.${monitor}.* 的方式获取所有instance数据
@@ -428,7 +428,7 @@ public class HistoryIotDbDataStorage extends
AbstractHistoryDataStorage {
}
/**
- * add quote,防止查询时关键字报错(eg: nodes)
+ * add quote,prevents keyword errors during queries(eg: nodes)
*/
private String addQuote(String text) {
if (text == null || text.isEmpty() || (text.startsWith(BACK_QUOTE) &&
text.endsWith(BACK_QUOTE))) {
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/MetricsDataRedisCodec.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/MetricsDataRedisCodec.java
index f6c229f9c..39d44b68c 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/MetricsDataRedisCodec.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/MetricsDataRedisCodec.java
@@ -25,7 +25,6 @@ import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
/**
- * MetricsData redis 序列化
* MetricsData redis serialization
*/
@Slf4j
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/RealTimeMemoryDataStorage.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/RealTimeMemoryDataStorage.java
index a2a9a37dc..4f6021390 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/RealTimeMemoryDataStorage.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/RealTimeMemoryDataStorage.java
@@ -30,7 +30,6 @@ import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
- * 存储采集实时数据 - memory
* Store and collect real-time data - memory
*/
@Component
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/RealTimeRedisDataStorage.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/RealTimeRedisDataStorage.java
index 864e0602b..696bebbeb 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/RealTimeRedisDataStorage.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/RealTimeRedisDataStorage.java
@@ -37,7 +37,6 @@ import java.util.List;
import java.util.Map;
/**
- * redis存储采集实时数据
* redis storage collects real-time data
*/
@Primary
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]