文档文档

创建最后值缓存

使用 influxdb3 create last_cache 命令 创建最后值缓存 (LVC)。提供以下

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

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

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

  • 键列 (--key-columns): 指定哪些列包含在缓存的主键中。LVC 中的行由其时间戳和键列唯一标识,因此请包含标识每行的所有必需列。这些通常是标签,但您可以使用以下类型的任何列

    • 字符串
    • 整数
    • 无符号整数
    • 布尔值
  • 值列 (--value-columns): 指定哪些列作为值列进行缓存。这些通常是字段,但也可以是标签。默认情况下,time 和未指定为 --key-columns 的列将作为值列进行缓存。

  • 计数 (--count): 每个唯一键列组合要缓存的值的数量。支持的范围是 [1-10]。默认计数为 1

  • 生存时间 (TTL) (--ttl): 缓存值的生存时间,使用 humantime 格式。默认 TTL 为四小时。

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

influxdb3 create last_cache \
  --database 
DATABASE_NAME
\
--token
AUTH_TOKEN
\
--table
TABLE_NAME
\
--key-columns
KEY_COLUMNS
\
--value-columns
VALUE_COLUMNS
\
--count
COUNT
\
--ttl
TTL
\
LVC_NAME

使用 HTTP API

要使用 HTTP API 创建最后值缓存,请向 /api/v3/configure/last_cache 端点发送 POST 请求。

POST /api/v3/configure/last_cache
curl -X POST "https://:8181/api/v3/configure/last_cache" \
  --header "Authorization: Bearer 
AUTH_TOKEN
"
\
--json '{ "db": "
DATABASE_NAME
",
"table": "
TABLE_NAME
",
"name": "
LVC_NAME
",
"key_columns": ["
KEY_COLUMNS
"],
"value_columns": ["
VALUE_COLUMNS
"],
"count":
COUNT
,
"ttl":
TTL
}'

示例

 curl -X POST "https://:8181/api/v3/configure/last_cache" \
  --header "Authorization: Bearer 00xoXX0xXXx0000XxxxXx0Xx0xx0" \
  --json '{
    "db": "example-db",
    "table": "home",
    "name": "homeLastCache",
    "key_columns": ["room", "wall"],
    "value_columns": ["temp", "hum", "co"],
    "count": 5,
    "ttl": 14400
  }'

响应码

  • 201 : 成功。已创建最后缓存。
  • 400 : 请求无效。
  • 401 : 未授权。
  • 404 : 未找到缓存。
  • 409 : 缓存已存在。

API 参数差异

列格式:API 使用 JSON 数组 ([“room”, “wall”]) 而不是 CLI 的逗号分隔格式 (room,wall)。TTL 格式:API 使用秒 (14400) 而不是 CLI 的 humantime 格式 (4h, 4 hours)。

替换以下内容:

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

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

  • TABLE_NAME: 与 LVC 关联的表名称

  • KEY_COLUMNS: 用于唯一标识每个系列的逗号分隔列列表——例如:room,wall

  • VALUE_COLUMNS: 要作为值列缓存的逗号分隔列列表——例如:temp,hum,co

  • COUNT: 每个系列的最后要缓存的值的数量——例如:5

  • TTL: 缓存值的 TTL,使用 humantime 格式——例如:10s, 1min 30sec, 3 hours

  • LVC_NAME: LVC 的唯一名称

缓存导入表中的不同值并开始缓存它们。

LVC 大小和持久性

LVC 存储在内存中,因此考虑缓存的大小和持久性非常重要。有关更多信息,请参阅 有关最后值缓存的重要注意事项。


此页面是否有帮助?

感谢您的反馈!


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