cassandra lastupdated(auto_now),lastaccessed和created(auto_now_add)

时间:2016-05-09 21:03:36

标签: cassandra cql cassandra-3.0 gocql cassandra-node-driver

有没有办法可以自动更新列创建和上次更新/访问的时间戳?

我们可以使用toTimestamp(now())函数来存储创建时间。但是我们有一个像writetime(name)这样的函数,它用于获取最后修改时间吗?是否有类似的功能来读取创建和访问时间?

有没有办法可以自动生成和存储所有三个时间戳lastupdated / lastaccessedcreated时间戳?

1 个答案:

答案 0 :(得分:0)

是的,有一个writetime函数,但它只在非主键列上运行。

aploetz@cqlsh:stackoverflow> SELECT name,description,writetime(description)
FROm bookbyname WHERE name='Patriot Games';

 name          | writetime(description) | description
---------------+------------------------+------------------------------------------------------------------------------------------------
 Patriot Games |       1442340092257821 | Jack Ryan saves England's next king, and becomes the target of an IRA splinter terrorism cell.

Cassandra没有跟踪上次访问/阅读,或类似的事情。

在Cassandra中,最后一次写入获胜,所以最后更新和创建将是相同的。但是如果你有一个你知道的专栏已经改变了,而且你知道的专栏没有改变,那么你可以得到两者的写入时间,然后你就可以获得更新和创建的时间。