在列级别应用 TTL
Apply TTL in column level
想知道如何在列级别应用 TTL
。
下面的查询将 TTL
设置为记录级别
INSERT INTO excelsior.clicks (
userid, url, date, name)
VALUES
(
3715e600-2eb0-11e2-81c1-0800200c9a66,
'http://apache.org',
'2013-10-09', 'Mary'
)
USING TTL 86400;
而我的要求是为特定列设置 TTL
。有什么办法可以实现吗
您可以 INSERT
使用部分数据:
cqlsh> create KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1};
cqlsh> use test;
cqlsh:test> create table test(userid uuid, url text, date text, name text, primary key(userid));
cqlsh:test>
cqlsh:test> insert into test(userid, url, date, name) VALUES
... (
... 3715e600-2eb0-11e2-81c1-0800200c9a66,
... 'http://apache.org',
... '2013-10-09', 'Mary'
... )
... USING TTL 86400;
cqlsh:test>
cqlsh:test> select userid, url, TTL(url), date, TTL(date), name, TTL(name) from test;
userid | url | ttl(url) | date | ttl(date) | name | ttl(name)
--------------------------------------+-------------------+----------+------------+-----------+------+-----------
3715e600-2eb0-11e2-81c1-0800200c9a66 | http://apache.org | 86342 | 2013-10-09 | 86342 | Mary | 86342
(1 rows)
cqlsh:test> insert into test(userid, url ) VALUES (3715e600-2eb0-11e2-81c1-0800200c9a66, 'http://apache.org' ) USING TTL 864000;
cqlsh:test>
cqlsh:test> select userid, url, TTL(url), date, TTL(date), name, TTL(name) from test;
userid | url | ttl(url) | date | ttl(date) | name | ttl(name)
--------------------------------------+-------------------+----------+------------+-----------+------+-----------
3715e600-2eb0-11e2-81c1-0800200c9a66 | http://apache.org | 863992 | 2013-10-09 | 86109 | Mary | 86109
(1 rows)
cqlsh:test>
如果您对每列执行插入语句,则可以分别为每列设置 TTL。
想知道如何在列级别应用 TTL
。
下面的查询将 TTL
设置为记录级别
INSERT INTO excelsior.clicks (
userid, url, date, name)
VALUES
(
3715e600-2eb0-11e2-81c1-0800200c9a66,
'http://apache.org',
'2013-10-09', 'Mary'
)
USING TTL 86400;
而我的要求是为特定列设置 TTL
。有什么办法可以实现吗
您可以 INSERT
使用部分数据:
cqlsh> create KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1};
cqlsh> use test;
cqlsh:test> create table test(userid uuid, url text, date text, name text, primary key(userid));
cqlsh:test>
cqlsh:test> insert into test(userid, url, date, name) VALUES
... (
... 3715e600-2eb0-11e2-81c1-0800200c9a66,
... 'http://apache.org',
... '2013-10-09', 'Mary'
... )
... USING TTL 86400;
cqlsh:test>
cqlsh:test> select userid, url, TTL(url), date, TTL(date), name, TTL(name) from test;
userid | url | ttl(url) | date | ttl(date) | name | ttl(name)
--------------------------------------+-------------------+----------+------------+-----------+------+-----------
3715e600-2eb0-11e2-81c1-0800200c9a66 | http://apache.org | 86342 | 2013-10-09 | 86342 | Mary | 86342
(1 rows)
cqlsh:test> insert into test(userid, url ) VALUES (3715e600-2eb0-11e2-81c1-0800200c9a66, 'http://apache.org' ) USING TTL 864000;
cqlsh:test>
cqlsh:test> select userid, url, TTL(url), date, TTL(date), name, TTL(name) from test;
userid | url | ttl(url) | date | ttl(date) | name | ttl(name)
--------------------------------------+-------------------+----------+------------+-----------+------+-----------
3715e600-2eb0-11e2-81c1-0800200c9a66 | http://apache.org | 863992 | 2013-10-09 | 86109 | Mary | 86109
(1 rows)
cqlsh:test>
如果您对每列执行插入语句,则可以分别为每列设置 TTL。