gpt4 book ai didi

cassandra - 如何在 Cassandra 中增加计数器?

转载 作者:行者123 更新时间:2023-12-04 06:11:48 24 4
gpt4 key购买 nike

我想用 Cassandra 来存储一个计数器。例如给定页面被查看了多少次。
计数器永远不会递减。计数器的值不需要精确,但随着时间的推移应该是精确的。

我的第一个想法是将值存储为一列,然后读取当前计数,将其加一,然后将其放回。但是,如果另一个操作也试图增加计数器,我认为最终值就是一个带有最新时间戳的。

另一个想法是将每个页面加载存储为 CF 中的一个新列。然后我就可以运行 get_count()在该键上并获取列数。通读documentation ,看来这根本不是一个非常有效的操作。

我是否错误地处理了问题?

最佳答案

计数器已添加到 Cassandra 0.8

使用 incr 方法将列的值增加 1。

[default@app] incr counterCF [ascii('a')][ascii('x')];
Value incremented.
[default@app] incr counterCF [ascii('a')][ascii('x')];
Value incremented.

在此处描述: http://www.jointhegrid.com/highperfcassandra/?p=79

或者它可以以编程方式完成
CounterColumn counter = new CounterColumn();
ColumnParent cp = new ColumnParent("page_counts_by_minute");
counter.setName(ByteBufferUtil.bytes(bucketByMinute.format(r.date)));
counter.setValue(1);
c.add(ByteBufferUtil.bytes( bucketByDay.format(r.date)+"-"+r.url)
, cp, counter, ConsistencyLevel.ONE);

此处描述: http://www.jointhegrid.com/highperfcassandra/?cat=7

关于cassandra - 如何在 Cassandra 中增加计数器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3558844/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com