在 Cassandra 中设置 TTL
Setting TTL in Cassandra
在Cassandra中更新TTL时是否需要设置一些东西?
我有一个table这样的,
CREATE TABLE session(
tokenId text PRIMARY KEY,
username text);
我这样插入数据,
INSERT INTO session(tokenId, username) VALUES ('123123123123','admin') USING TTL 30;
我这样更新TTL,
UPDATE session USING TTL 30 SET username = 'admin' WHERE tokenid = '123123123123' IF EXISTS;
它让我强制更新“用户名”,更新需要一组,有什么方法可以只更新 TTL 吗?
这是一个非常棘手的问题。让我尽力解释一下我的理解。
基本上,cassandra 不允许您更新一行的 TTL。如前所述 here,each 列维护 TTL。回到您的示例,具有 TTL
值的 insert
语句将为插入语句中的所有列创建相同的 TTL。同时,update
语句仅适用于预期的列(例如 username
)。希望对你有帮助。
Both the INSERT and UPDATE commands support setting a time for data in
a column to expire. Use CQL to set the expiration time (TTL).
在Cassandra中更新TTL时是否需要设置一些东西?
我有一个table这样的,
CREATE TABLE session(
tokenId text PRIMARY KEY,
username text);
我这样插入数据,
INSERT INTO session(tokenId, username) VALUES ('123123123123','admin') USING TTL 30;
我这样更新TTL,
UPDATE session USING TTL 30 SET username = 'admin' WHERE tokenid = '123123123123' IF EXISTS;
它让我强制更新“用户名”,更新需要一组,有什么方法可以只更新 TTL 吗?
这是一个非常棘手的问题。让我尽力解释一下我的理解。
基本上,cassandra 不允许您更新一行的 TTL。如前所述 here,each 列维护 TTL。回到您的示例,具有 TTL
值的 insert
语句将为插入语句中的所有列创建相同的 TTL。同时,update
语句仅适用于预期的列(例如 username
)。希望对你有帮助。
Both the INSERT and UPDATE commands support setting a time for data in a column to expire. Use CQL to set the expiration time (TTL).