Cassandra中时间戳的数据类型是什么

时间:2019-08-04 07:48:58

标签: cassandra

我注意到,如果我的模型具有类型为using System.Text.RegularExpressions; private static Regex _regex = new Regex("(?<=Password=).+?(?=(;|'|\"|$))"); //... var decryptPwdMatch = _regex.Match("some connectionstring for example"); //... 的字段expirationTime,那么我将无法将其存储在DateTime的{​​{1}}字段中。

timestamp

但是如果我将时间存储为Cassandra,那么它将起作用。

QueryBuilder.set("expiration_time",model.expirationTime) //data gets corrupted

问题1-这是否意味着milli seconds中的QueryBuilder.set("expiration_time",model.expirationTime.getMillis()) //WORKS 字段是timestamp类型? 问题2-是cassandra将时间转换为可读格式,例如long吗?

1 个答案:

答案 0 :(得分:0)

从DataStax documentation on CQL types

  

日期和时间以毫秒为单位,自历元开始编码为8个字节。可以表示为字符串,例如2015-05-03 13:30:54.234。

在Java中,您可以使用CQL支持的毫秒级长或字符串文字或java.util.Date(请参见code)。读取时,结果映射到驱动程序3.x / 1.x中的java.util.Date(请参见full table for CQL<->Java types mapping)或驱动程序4.x / 2.x中的java.time.Instant(请参见{ {3}}。

在Python / cqlsh中,是的-数据读取为8字节长,然后转换为字符串表示形式。