package cache import ( "fmt" "testing" "time" ) type T struct { A int B string } func TestSet(t *testing.T) { err := Set("test", "test") if err != nil { fmt.Println(err) return } value, err := Get("test") if err != nil { fmt.Println(err) return } fmt.Println(value.(string)) } func TestStruct(t *testing.T) { err := Set("struct", T{A: 1, B: "testtest"}) if err != nil { fmt.Println(err) return } value1, err := Get("struct") if err != nil { fmt.Println(err) return } fmt.Printf("%+v\n", value1.(T)) } func TestStruct1(t *testing.T) { err := Set("struct", &T{A: 1, B: "testtest"}) if err != nil { fmt.Println(err) return } value1, err := Get("struct") if err != nil { fmt.Println(err) return } fmt.Printf("%+v\n", value1.(*T)) } func TestDel(t *testing.T) { err := Del("test") if err != nil { fmt.Println(err) return } value, err := Get("test") if err != nil { fmt.Println(err) return } fmt.Println(value.(string)) } func TestSetEx(t *testing.T) { err := SetEx("testex", []byte("testex"), 2) if err != nil { fmt.Println(err) } valueEx, err := Get("testex") if err != nil { fmt.Println(err) return } fmt.Println(valueEx.([]byte)) time.Sleep(3 * time.Second) valueEx, err = Get("testex") if err != nil { fmt.Println(err) return } fmt.Println(valueEx.([]byte)) }