struct 2 redis struc
This commit is contained in:
comin2013
2021-04-22 18:59:14 +08:00

View File

@@ -221,6 +221,39 @@ func (m *RedisModule) setStringByExpire(key, value, expire interface{}) error {
return nil
}
func (m *RedisModule) HSetStruct(key string, val interface{}) error {
conn, err := m.getConn()
if err != nil {
return err
}
defer conn.Close()
_, err = conn.Do("HSET", redis.Args{}.Add(key).AddFlat(val)...)
if err != nil {
return err
}
return nil
}
func (m *RedisModule) HGetStruct(key string, out_val interface{}) error {
conn, err := m.getConn()
if err != nil {
return err
}
defer conn.Close()
v, err := redis.Values(conn.Do("HGETALL", key))
if err != nil {
return err
}
err = redis.ScanStruct(v, out_val)
if err != nil {
return err
}
return nil
}
func (m *RedisModule) SetStringMap(mapInfo map[interface{}]interface{}) (err error) {
err = m.setMuchStringByExpire(mapInfo, "-1")
return