java - Aerospike - 如何使用 Java 在给定列表中插入唯一项目?

标签 java aerospike

如果我运行下面的代码,来自 getUserName() 的值将被附加到列表中。但如果我再次运行它,则会再次插入相同的值。我的问题是,如何确保该值仅附加一次(唯一)?

我当前的代码

Operation operation = ListOperation.append("names", Value.get(usr.getUserName()));
Record record = client.operate( policy, key, operation );

示例:将“name”bin 视为字符串列表。

'LIST["T1", "T2"]'

如果我再次添加 T2,列表应保持不变。

最佳答案

ListOperation.append()可以拍ListPolicy ,需要标志。对于这样的写操作,ListWriteFlags如果您希望仅在新的唯一列表元素时添加值,则应将字段 ADD_UNIQUENO_FAIL 组合起来。

参见https://www.slideshare.net/RonenBotzer/asug-tlvmeetup2talk

关于java - Aerospike - 如何使用 Java 在给定列表中插入唯一项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59965159/

相关文章:

java - Jersey 在解析损坏的请求时抛出 NullPointerException

Aerospike 社区版 : what should I do to `aerospike.conf` to setup a cluster?

caching - 没有同步的 Aerospike 节点

python - 在 Python 中将 JSON 数据存储在 Aerospike 中

java - 计算周、月和年的第一天和最后一天的最佳方法

java - 使用 Jackson 将 json 字符串转换为 List<List<String>

java - 将图像和视频文件从 android 发送到服务器并接收处理

java - Java 的 writeInt 在 Windows 上执行与基于 Intel 的 Mac 上执行时是否有区别

java - 使用 aerospike 进行集成测试?

列表/ map 上的 Aerospike 操作