Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Historical-data-may-never-expire #2453

Merged
merged 5 commits into from
Jan 9, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 15 additions & 13 deletions docs-2.0/3.ngql-guide/8.clauses-and-options/ttl-options.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,23 @@ TTL(Time To Live)指定属性的存活时间,超时后,该属性就会

- 如果已有 TTL,可以再添加 INDEX。

## TTL 选项

nGQL 支持的 TTL 选项如下。

|选项|说明|
|:---|:---|
|`ttl_col`|指定要设置存活时间的属性。属性的数据类型必须是`int`或者`timestamp`。|
|`ttl_duration`|指定时间戳差值,单位:秒。时间戳差值必须为 64 位非负整数。属性值和时间戳差值之和如果小于当前时间戳,属性就会过期。如果`ttl_duration`为`0`,属性永不过期。|

## 属性过期

!!! caution

- 当为一个 Tag 或 Edge type 的属性设置 TTL 并该属性的值为`NULL`时,TTL 功能不会生效,即该属性永不过期。

- 如果为一个 Tag 或 Edge type 新增默认值为`now()`的属性并且该属性设置了 TTL,该 Tag 或 Edge type 相关的历史数据不会过期,因为历史数据的该属性值为当前时间戳。

### 点属性过期

点属性过期有如下影响:
Expand All @@ -40,19 +55,6 @@ NebulaGraph 自动删除过期数据后,会在下一次 [Compaction](../../8.s

如果[关闭 TTL 选项](#ttl_1),上一次 Compaction 之后的过期数据将可以被查询到。

## TTL 选项

nGQL 支持的 TTL 选项如下。

|选项|说明|
|:---|:---|
|`ttl_col`|指定要设置存活时间的属性。属性的数据类型必须是`int`或者`timestamp`。|
|`ttl_duration`|指定时间戳差值,单位:秒。时间戳差值必须为 64 位非负整数。属性值和时间戳差值之和如果小于当前时间戳,属性就会过期。如果`ttl_duration`为`0`,属性永不过期。|

!!! Note

当给值为`NULL`的属性设置 TTL 时,TTL 功能不会生效。

## 使用 TTL 选项

### Tag 或 Edge type 已存在
Expand Down