示例#1
0
func BenchmarkRW(b *testing.B) {
	wg := new(sync.WaitGroup)

	for i := 0; i < 10000; i++ {
		key := misc.Md5([]byte(strconv.Itoa(i)))
		wg.Add(1)
		go write(key, i, wg)
	}
	wg.Wait()

	for i := 0; i < 10000; i++ {
		key := misc.Md5([]byte(strconv.Itoa(i)))
		wg.Add(1)
		go read(key, wg)
	}
	wg.Wait()
}
示例#2
0
func TestSetGet(t *testing.T) {
	misc.PrintCallerFuncNameForTest()

	for i := 0; i < 10000; i++ {
		key := misc.Md5([]byte(strconv.Itoa(i)))
		smap.Set(key, i)

		v, ok := smap.Get(key)
		if !ok || v != i {
			t.Error(v, ok)
		}
	}
}
示例#3
0
func TestSetGet(t *testing.T) {
	misc.PrintCallerFuncNameForTest()

	for i := 0; i < 10000; i++ {
		key := misc.Md5([]byte(strconv.Itoa(i)))
		sc.Set(key, i, 10*time.Second)

		v, ok := sc.Get(key)
		if !ok || v != i {
			t.Error(v, ok)
		}
	}

	time.Sleep(16 * time.Second)

	for i := 0; i < 10000; i++ {
		key := misc.Md5([]byte(strconv.Itoa(i)))

		v, ok := sc.Get(key)
		if ok || v == i {
			t.Error(v, ok)
		}
	}
}