Java Aerospike记录切断地图值中的TTL

时间:2018-05-03 20:58:58

标签: java aerospike

我正在使用以下Aerospike客户端版本:

<dependency>
    <groupId>com.aerospike</groupId>
    <artifactId>aerospike-client</artifactId>
    <version>4.1.6</version>
</dependency>

我设置了Aerospike客户端并尝试检索一条记录,该记录是ID和令牌之间的映射,如下所示:

{<bin_name> = map{"<some_id>"="<some_token>::<token_ttl>"}}

我得到的记录如下(Record.toString()doc link):

(gen:1),(exp:263680981),(bins:(<bin_name>:{"<some_id>"="<some_token>::<token_ttl>"}))

但是,当我尝试直接检索bin时(Record.getMapRecord.getValue),我得到以下信息:

{"<some_id>"="<some_token>"}

之前有没有人见过这种自动过滤TTL行为?

关于如何不过滤TTL部分的任何想法?感谢。

1 个答案:

答案 0 :(得分:0)

发现问题......

看起来像com.aerospike.client.Record&#39; s功能&#34; getMap&#34; (或任何其他get函数)返回实例变量的引用,我正在修改它的值并将其放回到相同的引用中...

我想在将它分配给变量时没有复制它是不好的,或者Record类是否真的会返回其变量的副本?