1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| package geecache
import ( "fmt" "log" "testing" )
func TestGetter(t *testing.T) { var g Getter = GetterFunc(func(key string) ([]byte, error) { return []byte(key), nil })
bytes, _ := g.Get("key") fmt.Printf("%c", bytes) }
var db = map[string]string{ "Tom": "630", "Jack": "589", "Sam": "567", }
func TestGet(t *testing.T) { loadCounts := make(map[string]int, len(db))
gee := NewGroup("scores", 1024, GetterFunc( func(key string) ([]byte, error) { log.Println("[SlowDB] search key", key) if v, ok := db[key]; ok { if _, ok := loadCounts[key]; !ok { loadCounts[key] = 0 } loadCounts[key] += 1 return []byte(v), nil } return nil, fmt.Errorf("%s not exist", key) }))
for k, v := range db { view, err := gee.Get(k) if err != nil { panic(err) } fmt.Println(k, v, view.String()) }
view, err := gee.Get("unknown") if err != nil { fmt.Println(err) } fmt.Println(view.String()) }
|