Redis的key是String类型的,如果Value如果也是String类型,相当于把两个字符串映射起来,即key-value。这里字符串不仅仅是传统意义上的字符串,例如“hello world”,也可以是JSON、HTML等。
1、string 字符串
//string------------------------------------------------------------------------ key := "go2key" //过期时间1小时 err = client.Set(key, "我是值", time.Hour).Err() if err != nil { fmt.Println("set err", err) return } //获取 value, err := client.Get(key).Result() if err != nil { fmt.Println("Get err", err) return } fmt.Printf("key:%v 值:%~~~~v \n", key, value)
存储命令:Set,过期时间如果是3分钟则写成 3*timt.Minute
client.Set(key, "我是值", time.Hour)
读取命令:Getvalue, err := client.Get(key).Result()
2、struc 结构(json字符串)
//json--------------------------------- //存储结构 doctor := Doctor{1, "钟南山", 83, 1, time.Now()} doctorJson, _ := json.Marshal(doctor) client.Set("doctor2", doctorJson, time.Hour) //读取结构 doctorResult, _ := client.Get("doctor2").Result() var doctor2 Doctor //反序列化 json.Unmarshal([]byte(doctorResult), &doctor2) fmt.Println("doctor2", doctor2)
解析:
存储结构其实也是存储string,只是把struc序列化成json,等读取的时候再反序列化成struc
序列化:doctorJson, _ := json.Marshal(doctor)
反序列化:json.Unmarshal([]byte(doctorResult), &doctor2)