Cassandra TTL和Cassandra CQL数据类型(示例)
Cassandra 数据类型
Cassandra 支持不同的数据类型。下表展示了数据类型、它们的常量和描述。
CQL 类型 | 常量 | 描述 |
---|---|---|
ascii | 字符串 | US-Ascii 字符字符串 |
Bigint | 整数 | 64 位有符号长整数 |
Blob | 二进制大对象 | 十六进制表示的任意字节 |
布尔值 | Booleans | 真或假 |
Counter | 整数 | 分布式计数器值(64 位) |
Decimal | 整数、浮点数 | 可变精度十进制数 |
Double | 整数、浮点数 | 64 位浮点数 |
Float | 整数、浮点数 | 32 位浮点数 |
Frozen | 元组、集合、用户定义类型 | 存储 Cassandra 类型 |
Inet | 字符串 | IPV4 或 IPV6 格式的 IP 地址 |
Int | 整数 | 32 位有符号整数 |
列表 | 元素集合 | |
Map | JSON 风格的元素集合 | |
设置 | 元素集合 | |
文本 | 字符串 | UTF-8 编码的字符串 |
Timestamp | 整数、字符串 | 通过日期加时间生成的 ID |
Timeuuid | Uuids | Type 1 uuid |
Tuple | 2 个、3 个字段的组合 | |
Uuid | Uuids | 标准 uuid |
Varchar | 字符串 | UTF-8 编码的字符串 |
Varint | 整数 | 任意精度整数 |
Cassandra TTL(生存时间),使用自动数据过期
Cassandra 提供了一种数据可自动过期的功能。
在插入数据时,您需要以秒为单位指定“ttl”值。“ttl”值是数据的生存时间。在该特定时间量之后,数据将被自动删除。
例如,插入时指定 ttl 值为 100 秒。数据将在 100 秒后自动删除。当数据过期时,该过期数据会标记为一个墓碑。
墓碑存在一个宽限期。数据过期后,将在合并过程后自动删除数据。
语法
Insert into KeyspaceName.TableName(ColumnNames) values(ColumnValues) using ttl TimeInseconds;
示例
下面是向 Student 表插入数据,ttl 值为 100 秒的快照。
insert into University.Student(rollno,name,dept,semester) values(3,'Guru99','CS’,7) using ttl 100;
下面是数据在 100 秒后自动过期并自动删除的快照。