当前位置: 首页>>代码示例>>Golang>>正文


Golang StoreAdapter.Set方法代码示例

本文整理汇总了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() {
开发者ID:Zhann,项目名称:hm9000,代码行数:31,代码来源:analyzer_test.go

示例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{
开发者ID:pivotal-cf-experimental,项目名称:hmperformance,代码行数:30,代码来源:detailed_store_performance_test.go

示例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",
开发者ID:Zhann,项目名称:hm9000,代码行数:31,代码来源:walk_test.go


注:本文中的github.com/cloudfoundry/hm9000/storeadapter.StoreAdapter.Set方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。