When creating a
ColumnFamily, it is
possible to set garbage collection rules for expired data.
By setting a rule, cells in the table matching the rule will be deleted during periodic garbage collection (which executes opportunistically in the background).
can all be used as the optional
gc_rule argument in the
constructor. This value is then used in the
These rules can be nested arbitrarily, with a
at the lowest level of the nesting:
import datetime max_age = datetime.timedelta(days=3) rule1 = MaxAgeGCRule(max_age) rule2 = MaxVersionsGCRule(1) # Make a composite that matches anything older than 3 days **AND** # with more than 1 version. rule3 = GarbageCollectionIntersection(rules=[rule1, rule2]) # Make another composite that matches our previous intersection # **OR** anything that has more than 3 versions. rule4 = GarbageCollectionRule(max_num_versions=3) rule5 = GarbageCollectionUnion(rules=[rule3, rule4])