我正在为我的应用程序使用 Cassandra 数据库,并且为每个请求设置 TTL。出于测试目的,我使用另一个数据库(相同的架构,但在本地),我愿意保留数据,我想知道是否有办法覆盖 ttl,我不知道,通过在创建时将其设置为默认值桌子或类似的东西。
谢谢。
为特定列设置 TTL
使用 CQL 设置数据的 TTL。
要更改特定列的 TTL,您必须使用新的 TTL 重新插入数据。Cassandra 使用新的 TTL 更新插入列,并用旧的 TTL 替换旧值(如果存在)。
设置表的 TTL
CQL 表定义支持 default_time_to_live 属性,该属性将特定的 TTL 应用于表中的每一列。超过 default_time_to_live TTL 值后,Cassandra 会逻辑删除整个表。使用 CREATE TABLE 或 ALTER TABLE 将此默认 TTL 应用于 CQL 中的表。
如果您的表在本地环境中的 TTL 值不等于 0,请使用
ALTER TABLE table_name
WITH default_time_to_live= 0
Run Code Online (Sandbox Code Playgroud)
这将更改表级别 TTL。
如果设置了列级别 TTL,请更改代码以插入具有 0 或更高 TTL 的记录。
| 归档时间: |
|
| 查看次数: |
6577 次 |
| 最近记录: |