mirror of
https://github.com/duanhf2012/origin.git
synced 2026-02-04 06:54:45 +08:00
Update redismodule.go
redismodule 添加 struct 2 hash
This commit is contained in:
@@ -185,6 +185,39 @@ func (m *RedisModule) setStringByExpire(key, value, expire interface{}) error {
|
|||||||
return nil
|
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) {
|
func (m *RedisModule) SetStringMap(mapInfo map[interface{}]interface{}) (err error) {
|
||||||
err = m.setMuchStringByExpire(mapInfo, "-1")
|
err = m.setMuchStringByExpire(mapInfo, "-1")
|
||||||
return
|
return
|
||||||
|
|||||||
Reference in New Issue
Block a user