覆盖 TTL Cassandra
Override TTL Cassandra
我正在为我的应用程序使用 Cassandra 数据库,并且我正在为每个请求设置一个 TTL。出于测试目的,我正在使用另一个数据库(相同的模式,但在本地)并且我愿意保留数据并且我想知道是否有一种方法可以覆盖 ttl,我不知道,方法是在创建时将其设置为默认值桌子或类似的东西。
谢谢。
我认为它在那个方向上行不通;因为您在 CQL 中而不是在 table 级别指定 TTL。
http://cassandra.apache.org/doc/latest/cql/dml.html
If the table has a default_time_to_live, a TTL of 0 will remove the TTL for the inserted or updated values. A TTL of null is equivalent to inserting with a TTL of 0.
CQL TTL 覆盖默认值。如果您在 table 级别有 9999 TTL,并在 CQL 中使用 50;将使用 50 个。
参考这里 - http://www.mail-archive.com/user@cassandra.apache.org/msg50873.html
Setting a TTL for a specific column
Use CQL to set the TTL for data.
To change the TTL of a specific column, you must re-insert the data
with a new TTL. Cassandra upserts the column with the new TTL,
replacing the old value with the old TTL, if any exists.
Setting a TTL for a table
The CQL table definition supports the default_time_to_live property,
which applies a specific TTL to each column in the table. After the
default_time_to_live TTL value has been exceed, Cassandra tombstones
the entire table. Apply this default TTL to a table in CQL using
CREATE TABLE or ALTER TABLE.
如果您的 table 在本地环境中的 TTL 值不等于 0,请使用
ALTER TABLE table_name
WITH default_time_to_live= 0
这将更改 table 级 TTL。
如果设置了列级 TTL,请更改代码以插入具有 0 或更高 TTL 的记录。
我正在为我的应用程序使用 Cassandra 数据库,并且我正在为每个请求设置一个 TTL。出于测试目的,我正在使用另一个数据库(相同的模式,但在本地)并且我愿意保留数据并且我想知道是否有一种方法可以覆盖 ttl,我不知道,方法是在创建时将其设置为默认值桌子或类似的东西。
谢谢。
我认为它在那个方向上行不通;因为您在 CQL 中而不是在 table 级别指定 TTL。
http://cassandra.apache.org/doc/latest/cql/dml.html
If the table has a default_time_to_live, a TTL of 0 will remove the TTL for the inserted or updated values. A TTL of null is equivalent to inserting with a TTL of 0.
CQL TTL 覆盖默认值。如果您在 table 级别有 9999 TTL,并在 CQL 中使用 50;将使用 50 个。
参考这里 - http://www.mail-archive.com/user@cassandra.apache.org/msg50873.html
Setting a TTL for a specific column
Use CQL to set the TTL for data.
To change the TTL of a specific column, you must re-insert the data with a new TTL. Cassandra upserts the column with the new TTL, replacing the old value with the old TTL, if any exists.
Setting a TTL for a table
The CQL table definition supports the default_time_to_live property, which applies a specific TTL to each column in the table. After the default_time_to_live TTL value has been exceed, Cassandra tombstones the entire table. Apply this default TTL to a table in CQL using CREATE TABLE or ALTER TABLE.
如果您的 table 在本地环境中的 TTL 值不等于 0,请使用
ALTER TABLE table_name
WITH default_time_to_live= 0
这将更改 table 级 TTL。
如果设置了列级 TTL,请更改代码以插入具有 0 或更高 TTL 的记录。