From 350bffda8f60c7d3bf1ca755964e03320a1e8cf7 Mon Sep 17 00:00:00 2001 From: comin2013 <350878418@qq.com> Date: Thu, 22 Apr 2021 18:38:05 +0800 Subject: [PATCH] Update redismodule.go MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit redismodule 添加 struct 2 hash --- sysmodule/redismodule/redismodule.go | 33 ++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/sysmodule/redismodule/redismodule.go b/sysmodule/redismodule/redismodule.go index cf1b848..2dc3909 100644 --- a/sysmodule/redismodule/redismodule.go +++ b/sysmodule/redismodule/redismodule.go @@ -185,6 +185,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