【问题标题】:How to change the default value of Cassandra counter如何更改 Cassandra 计数器的默认值
【发布时间】:2016-04-11 21:06:58
【问题描述】:

在 Cassandra 计数器中,如果我尝试在不存在的行中增加计数器,它会创建将值设置为零的行,然后根据请求增加值。

我的问题是我可以将默认值更改为不为零而是其他值。例如:前一个桶或类似的东西(row2 = row1+value)

【问题讨论】:

    标签: cassandra cql


    【解决方案1】:

    您不能将计数器的值设置为仅递增或递减。

    计数器列值是一个 64 位有符号整数。您无法设置 计数器的值,它支持两种操作:递增和 递减。

    http://docs.datastax.com/en/cql/3.1/cql/cql_reference/counter_type.html

    【讨论】:

    • 您知道如何实现我要求的功能吗?
    【解决方案2】:

    您可以像这样设置计数器的初始值:

        CREATE TABLE counters (
          counter_name text,
          counter_value counter,
          PRIMARY KEY (counter_name)
        );
    
        UPDATE counters SET counter_value = counter_value + 100500 WHERE counter_name='FooCounter';
        SELECT * from counters;
    
         counter_name | counter_value
        --------------+---------------
           FooCounter |        100500
    

    之后根据需要使用计数器:

        UPDATE counters SET counter_value = counter_value + 1 WHERE counter_name='FooCounter';
        SELECT * from counters;
    
         counter_name | counter_value
        --------------+---------------
           FooCounter |        100501
    

    【讨论】:

      猜你喜欢
      • 2015-04-06
      • 1970-01-01
      • 1970-01-01
      • 2021-12-19
      • 1970-01-01
      • 2012-07-03
      • 2021-10-19
      • 2012-09-27
      相关资源
      最近更新 更多