goframe中redis使用技巧

redis的返回值类型

gvar.var类型,该类型永远不为空。

判断控制方式

使用方法 redis返回值.IsEmpty()来进行判断

redis键名添加前缀,防止键名重复被覆盖

使用key := fmt.Sprintf("user:info:%s", req.Uname) // 如 "user:info:zhangsan"方法

redis过期时间的意义

以一个实际应用来进行说明:

如果实现一个物联网平台,设备的状态信息存储进redis中,下面是设置过期时间和未设置过期时间的区别

设置过期时间 未设置过期时间
容量 设备离线到时自动销毁数据,防止容量溢出 即使设备离线,设备数据仍然存储在redis中
覆盖 采用set类型,自动覆盖同一键名 采用set类型,自动覆盖同一键名
应用 设备离线,可通过查找redis数据为空来实现辨别 设备离线,数据仍然保存在redis中

序列化和反序列化

序列化:redisJson, err := gjson.Encode(userInfo)

反序列化:err = gjson.DecodeTo(userInfo.String(), &out)

应用:当使用redis以字符串形式作为值时,需要序列化。