Cassandra 文档

版本

您正在查看预发布版本的文档。

使用计数器

计数器是用于存储通过增量或减量更新的数字的特殊列。

要将数据加载到计数器列中,或增加或减少计数器的值,请使用 UPDATE 命令。Apache Cassandra 拒绝在更新计数器列的命令中使用 USING TIMESTAMP 或 USING TTL。

步骤

  1. 为计数器列创建表。

    CREATE TABLE IF NOT EXISTS cycling.popular_count (
      id UUID PRIMARY KEY,
      popularity counter
    );
  2. 将数据加载到计数器列中与其他表不同。数据是更新而不是插入。

    BEGIN COUNTER BATCH
    
      UPDATE cycling.popular_count
      SET popularity = popularity + 1
      WHERE id = 6ab09bec-e68e-48d9-a5f8-97e6fb4c9b47;
    
      UPDATE cycling.popular_count
      SET popularity = popularity + 125
      WHERE id = 6ab09bec-e68e-48d9-a5f8-97e6fb4c9b47;
    
      UPDATE cycling.popular_count
      SET popularity = popularity - 64
      WHERE id = 6ab09bec-e68e-48d9-a5f8-97e6fb4c9b47;
    
    APPLY BATCH;
    UPDATE cycling.popular_count
    SET popularity = popularity + 2
    WHERE id = 6ab09bec-e68e-48d9-a5f8-97e6fb4c9b47;
  3. popularity 列的值为 64。

    • CQL

    • 结果

    SELECT *
    FROM cycling.popular_count;
    bplist00�XUTI-Data�_$com.apple.traditional-mac-plain-text_public.utf8-plain-text_public.utf16-plain-textO*select_all_from_popular_count.results copy_*select_all_from_popular_count.results copyOTselect_all_from_popular_count.results copyB[u��	&

额外的增量或减量会更改计数器列的值。