Dear Wiki user, You have subscribed to a wiki page or wiki category on "Cassandra Wiki" for change notification.
The "Counters" page has been changed by johanoskarsson. http://wiki.apache.org/cassandra/Counters?action=diff&rev1=2&rev2=3 -------------------------------------------------- = Counters in Cassandra = == Getting started == + + In order to use counters in Cassandra you need to first set up a cluster, see the [[http://wiki.apache.org/cassandra/GettingStarted|Getting started]] guide for more information. Currently the counters code is slated for a release in Cassandra 0.8.0. + + ==== Configuration ==== + + When first setting up the cluster you can specify a column or super column that will act as counters. + For example using the cassandra.yaml configuration file: + + {{{ + - name: Counter1 + default_validation_class: CounterColumnType + + - name: SuperCounter1 + column_type: Super + default_validation_class: CounterColumnType + }}} + + ==== Incrementing and accessing counters ==== + + Once the cluster is up and running with these settings you can simply increment or decrement long values from the counters as follows (example is using the python thrift client): + + {{{ + client.add('key1', ColumnParent(column_family='Counter1'), CounterColumn('c1', 100), ConsistencyLevel.ONE) + client.add('key1', ColumnParent(column_family='Counter1'), CounterColumn('c1', -50), ConsistencyLevel.ONE) + }}} + + And read it back + {{{ + rv = client.get_counter('key1', ColumnPath(column_family='Counter1', column='c1'), ConsistencyLevel.ONE) + }}} + + Please read the rest of this wiki page, especially Technical limitations and Operational considerations to make sure this actually does what you need. + == Interface == == Technical limitations == == Operational considerations == == Further reading == + See [[https://issues.apache.org/jira/browse/CASSANDRA-1072|CASSANDRA-1072]] and especially the [[https://issues.apache.org/jira/secure/attachment/12459754/Partitionedcountersdesigndoc.pdf|design doc]] for further information about how this works.
