为什么每次我问“get_slice”都会返回不同的值?

时间:2012-03-22 17:38:23

标签: c# cassandra

我正在测试范围切片,例如我跟踪产品价格,所以我的关键是产品ID,列是日期,包含该日期的价格。

我使用TimeUUIDType比较器来截断日期,以获得给定时期的报价。

这是我的架构:

{
    "ItemCode1": {
        "<timestamp>": { "name": "<timestamp>", "value": "<price>" },
        "<timestamp>": { "name": "<timestamp>", "value": "<price>" },
        ...
    },
    "ItemCode2": {
        "<timestamp>": { "name": "<timestamp>", "value": "<price>" },
        "<timestamp>": { "name": "<timestamp>", "value": "<price>" },
        ...
    }
}

我的问题是,每次我查询Cassandra时,它都会给我一个略有不同的列列表(1-2个或更多)。 我使用get_slice的切片范围为ConsistencyLevel = ALL,我甚至尝试修复ColumnFamily。

1 个答案:

答案 0 :(得分:5)

问题实际上来自客户端,因为我使用CassandraSharp的TimeUuidNameOrValue来定义我的切片边界。

但在内部它会生成一个TimeUuid,因此我的边界有一个可变部分,因此变量结果。