原子计数器是将列当成一个原子计数器来使用,为某些在线应用提供实时统计功能,例如统计帖子的PV(实时浏览量)等。

说明 原子计数器的详细介绍请参见原子计数器

接口说明

RowUpdateChange类中新增了原子计数器的操作接口。
接口 说明
RowUpdateChange increment(Column column) 对列执行增量变更(如+X、-X等)。
void addReturnColumn(String columnName) 设置进行原子计数器操作的列。
void setReturnType(ReturnType.RT_AFTER_MODIFY) 设置返回类型,并返回列的新值。

示例

写入数据时,使用RowUpdateChange接口对整型列进行列值的增量变更,示例代码如下。
private static void incrementByUpdateRowApi(SyncClient client) {
    //构造主键。
    PrimaryKeyBuilder primaryKeyBuilder = PrimaryKeyBuilder.createPrimaryKeyBuilder();
    primaryKeyBuilder.addPrimaryKeyColumn(PRIMARY_KEY_NAME, PrimaryKeyValue.fromString("pk0"));
    PrimaryKey primaryKey = primaryKeyBuilder.build();
    RowUpdateChange rowUpdateChange = new RowUpdateChange(TABLE_NAME, primaryKey);
    //将price列值+10,不能设置时间戳。
    rowUpdateChange.increment(new Column("price", ColumnValue.fromLong(10)));
    //设置ReturnType返回原子计数器的结果。
    rowUpdateChange.addReturnColumn("price");
    rowUpdateChange.setReturnType(ReturnType.RT_AFTER_MODIFY);
    //对price列进行原子计数器操作。
    UpdateRowResponse response = client.updateRow(new UpdateRowRequest(rowUpdateChange));
    //打印出更新后的新值。
    Row row = response.getRow();
    System.out.println(row);
}