我想在airospike中使用列表作为bin值。所以,http://www.aerospike.com/docs/guide/cdt-list.html似乎是个不错的选择。但是golang https://github.com/aerospike/aerospike-client-go/blob/master/examples/list_map.go中的客户端示例只显示了get和put。
key, _ := as.NewKey(*shared.Namespace, *shared.Set, "listkey1")
client.Delete(shared.WritePolicy, key)
list := []string{"string1", "string2", "string3"}
bin := as.NewBin("listbin1", list)
client.PutBins(shared.WritePolicy, key, bin)
record, err := client.Get(shared.Policy, key, bin.Name)
shared.PanicOnError(err)
receivedList := record.Bins[bin.Name].([]interface{})
validateSize(3, len(receivedList))
validate("string1", receivedList[0])
validate("string2", receivedList[1])
validate("string3", receivedList[2])
提到的所有其他API怎么样?比如如何附加到列表或获取列表中的对象数等?任何对任何文件的引用都将不胜感激。
提前致谢。
答案 0 :(得分:2)
感谢Flimzy指出文档。也许对于遇到这个问题的未来用户,以下内容可能有所帮助。
要执行列表操作,您需要使用以下方法并指定操作:
https://godoc.org/github.com/aerospike/aerospike-client-go#Client.Operate
Operate方法接受操作并获取使用List * Op方法的操作(例如https://godoc.org/github.com/aerospike/aerospike-client-go#ListAppendOp)
答案 1 :(得分:1)
不要指望示例提供完整的文档。请使用the documentation。