本文整理汇总了Golang中github.com/cloudfoundry/hm9000/storeadapter.StoreAdapter.Set方法的典型用法代码示例。如果您正苦于以下问题:Golang StoreAdapter.Set方法的具体用法?Golang StoreAdapter.Set怎么用?Golang StoreAdapter.Set使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/cloudfoundry/hm9000/storeadapter.StoreAdapter
的用法示例。
在下文中一共展示了StoreAdapter.Set方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1:
a1 = app.NewApp()
a2 = app.NewApp()
analyzer = New(etcdStoreAdapter)
})
insertDesiredIntoStore := func(desired models.DesiredAppState) {
key := "/desired/" + desired.StoreKey()
value := desired.ToJson()
node := storeadapter.StoreNode{
Key: key,
Value: value,
}
etcdStoreAdapter.Set([]storeadapter.StoreNode{node})
}
insertActualIntoStore := func(heartbeat models.InstanceHeartbeat) {
key := "/actual/" + heartbeat.StoreKey()
value := heartbeat.ToJson()
node := storeadapter.StoreNode{
Key: key,
Value: value,
}
etcdStoreAdapter.Set([]storeadapter.StoreNode{node})
}
Context("When /desired and /actual are missing", func() {
It("Should not send any start or stop messages", func() {
示例2:
for _, recordSize := range recordSizes {
recordSize := recordSize
Measure(fmt.Sprintf("Read/Write Performance With record size: %dbytes (will generate %d records)", recordSize, numRecords), func(b Benchmarker) {
data := make([]storeadapter.StoreNode, numRecords)
for i := 0; i < numRecords; i++ {
data[i] = storeadapter.StoreNode{
Key: fmt.Sprintf("/record/%d", i),
Value: randomBytes(recordSize),
TTL: 0,
}
}
b.Time("writing to the store", func() {
err := storeAdapter.Set(data)
Ω(err).ShouldNot(HaveOccured())
}, StorePerformanceReport{
Subject: "write",
StoreType: storeType,
NumStoreNodes: nodes,
RecordSize: recordSize,
NumRecords: numRecords,
Concurrency: concurrency,
})
b.Time("reading from the store", func() {
node, err := storeAdapter.ListRecursively("/record")
Ω(err).ShouldNot(HaveOccured())
Ω(len(node.ChildNodes)).Should(Equal(numRecords), "Didn't find the correct number of entries in the store")
}, StorePerformanceReport{
示例3:
. "github.com/onsi/gomega"
)
var _ = Describe("Walk", func() {
var etcdStoreAdapter storeadapter.StoreAdapter
BeforeEach(func() {
conf, _ := config.DefaultConfig()
etcdStoreAdapter = storeadapter.NewETCDStoreAdapter(etcdRunner.NodeURLS(), conf.StoreMaxConcurrentRequests)
err := etcdStoreAdapter.Connect()
Ω(err).ShouldNot(HaveOccured())
etcdStoreAdapter.Set([]storeadapter.StoreNode{
storeadapter.StoreNode{Key: "/desired-fresh", Value: []byte("123"), TTL: 0},
storeadapter.StoreNode{Key: "/actual-fresh", Value: []byte("456"), TTL: 0},
storeadapter.StoreNode{Key: "/desired/guid1", Value: []byte("guid1"), TTL: 0},
storeadapter.StoreNode{Key: "/desired/guid2", Value: []byte("guid2"), TTL: 0},
storeadapter.StoreNode{Key: "/menu/oj", Value: []byte("sweet"), TTL: 0},
storeadapter.StoreNode{Key: "/menu/breakfast/pancakes", Value: []byte("tasty"), TTL: 0},
storeadapter.StoreNode{Key: "/menu/breakfast/waffles", Value: []byte("delish"), TTL: 0},
})
})
It("can recurse through keys in the store", func() {
visited := make(map[string]string)
Walk(etcdStoreAdapter, "/", func(node storeadapter.StoreNode) {
visited[node.Key] = string(node.Value)
})
Ω(visited).Should(Equal(map[string]string{
"/desired-fresh": "123",
"/actual-fresh": "456",