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 秒的快照。

Cassandra TTL using Automatic Data Expiration

insert into University.Student(rollno,name,dept,semester) values(3,'Guru99','CS’,7) using ttl 100;

下面是数据在 100 秒后自动过期并自动删除的快照。

Cassandra TTL using Automatic Data Expiration