文档文档

创建唯一值缓存

使用 influxdb3 create distinct_cache 命令 来创建一个Distinct Value Cache (DVC)。提供以下信息:

  • 数据库 (-d, --database): (必需) 要与DVC关联的数据库名称。您也可以使用 INFLUXDB3_DATABASE_NAME 环境变量来指定数据库。

  • Token (--token): (必需) 您的 InfluxDB 3 Core 认证令牌。您也可以使用 INFLUXDB3_AUTH_TOKEN 环境变量来指定令牌。

  • (-t, --table): (必需) 要与DVC关联的表名称。

  • (--columns): (必需) 指定要缓存其Distinct Value的列。这些通常是标签列,但也可以是字符串字段。

  • 最大基数 (--max-cardinality): 指定缓存中要存储的Distinct Value组合的最大数量。默认的最大基数是 100000

  • 最大年龄 (--max-age): 以 humantime 格式指定DVC中要保留的Distinct Value的最大年龄。默认的最大年龄是 24 hours

  • 缓存名称: 缓存的唯一名称。如果您不提供,InfluxDB会自动为您生成一个缓存名称。

influxdb3 create distinct_cache \
  --database 
DATABASE_NAME
\
--token
AUTH_TOKEN
\
--table
TABLE_NAME
\
--columns
COLUMNS
\
--max-cardinality
MAX_CARDINALITY
\
--max-age
MAX_AGE
\
DVC_NAME

使用 HTTP API

要使用HTTP API创建Distinct Value Cache,请向 /api/v3/configure/distinct_cache 端点发送一个 POST 请求。

POST /api/v3/configure/distinct_cache
curl -X POST "https://:8181/api/v3/configure/distinct_cache" \
  --header "Authorization: Bearer 
AUTH_TOKEN
"
\
--json '{ "db": "
DATABASE_NAME
",
"table": "
TABLE_NAME
",
"name": "
DVC_NAME
",
"columns": ["
COLUMNS
"],
"max_cardinality":
MAX_CARDINALITY
,
"max_age":
MAX_AGE
}'

示例

curl -X POST "https://:8181/api/v3/configure/distinct_cache" \
  --header "Authorization: Bearer 00xoXX0xXXx0000XxxxXx0Xx0xx0" \
  --json '{
    "db": "example-db",
    "table": "wind_data", 
    "name": "windDistinctCache",
    "columns": ["country", "county", "city"],
    "max_cardinality": 10000,
    "max_age": 86400
  }'

响应码

  • 201 : 成功。Distinct Cache 已创建。
  • 204 : 未创建。具有此配置的Distinct Cache已存在。
  • 400 : 请求无效。

API参数差异

  • 列格式: API使用JSON数组 (["country", "county", "city"]) 而不是CLI的逗号分隔格式 (country,county,city)。
  • 最大年龄格式: API使用秒 (86400) 而不是CLI的 humantime格式 (24h, 1 day)。

替换以下内容:

  • DATABASE_NAME: 要与DVC关联的数据库名称

  • AUTH_TOKEN: 您的 InfluxDB 3 Core 认证令牌

  • TABLE_NAME: 要与DVC关联的表名称

  • COLUMNS: 要缓存其Distinct Value的列的逗号分隔列表 – 例如: country,county,city

  • MAX_CARDINALITY: 要缓存的Distinct Value组合的最大数量 – 例如: 10000

  • MAX_AGE: 要在缓存中保留的Distinct Value的最大年龄,以 humantime 格式表示 – 例如: 6h, 1 day, 1 week

  • DVC_NAME: DVC的唯一名称

缓存将从表中导入Distinct Value并开始缓存它们。

DVC大小和持久性

DVC存储在内存中,因此考虑缓存的大小和持久性很重要。有关更多信息,请参阅 关于Distinct Value Cache的要点


此页面是否有帮助?

感谢您的反馈!


InfluxDB 3.8 新特性

InfluxDB 3.8 和 InfluxDB 3 Explorer 1.6 的主要增强功能。

查看博客文章

InfluxDB 3.8 现已适用于 Core 和 Enterprise 版本,同时发布了 InfluxDB 3 Explorer UI 的 1.6 版本。本次发布着重于操作成熟度,以及如何更轻松地部署、管理和可靠地运行 InfluxDB。

更多信息,请查看

InfluxDB Docker 的 latest 标签将指向 InfluxDB 3 Core

在 **2026 年 2 月 3 日**,InfluxDB Docker 镜像的 latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。

如果使用 Docker 来安装和运行 InfluxDB,latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。例如,如果使用 Docker 运行 InfluxDB v2,请将 latest 版本标签替换为 Docker pull 命令中的特定版本标签 — 例如

docker pull influxdb:2