|
@@ -61,15 +61,17 @@ func (store *redisStore) Set(id Id, key string, value interface{}) {
|
|
}
|
|
}
|
|
|
|
|
|
//同时设置多个值
|
|
//同时设置多个值
|
|
-func (store *redisStore) SetMultiple(id Id, m map[string]interface{}) {
|
|
|
|
|
|
+func (store *redisStore) SetMultiple(id Id, m map[string]interface{}) error {
|
|
lock(id).Lock()
|
|
lock(id).Lock()
|
|
defer lock(id).Unlock()
|
|
defer lock(id).Unlock()
|
|
var userdata map[string]interface{}
|
|
var userdata map[string]interface{}
|
|
bs, err := redis.GetBytes("session", string(id))
|
|
bs, err := redis.GetBytes("session", string(id))
|
|
if err != nil {
|
|
if err != nil {
|
|
- userdata = make(map[string]interface{})
|
|
|
|
|
|
+ return err
|
|
} else {
|
|
} else {
|
|
- json.Unmarshal(*bs, &userdata)
|
|
|
|
|
|
+ if err = json.Unmarshal(*bs, &userdata); err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
}
|
|
}
|
|
for k, v := range m {
|
|
for k, v := range m {
|
|
userdata[k] = v
|
|
userdata[k] = v
|
|
@@ -78,8 +80,11 @@ func (store *redisStore) SetMultiple(id Id, m map[string]interface{}) {
|
|
if RedisNotLoginKey != "" && userdata[RedisNotLoginKey] == nil {
|
|
if RedisNotLoginKey != "" && userdata[RedisNotLoginKey] == nil {
|
|
timeout = RedisNotLoginExpire
|
|
timeout = RedisNotLoginExpire
|
|
}
|
|
}
|
|
- putdata, _ := json.Marshal(userdata)
|
|
|
|
- redis.PutBytes("session", string(id), &putdata, timeout)
|
|
|
|
|
|
+ putdata, err := json.Marshal(userdata)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+ return redis.PutBytes("session", string(id), &putdata, timeout)
|
|
}
|
|
}
|
|
|
|
|
|
func (store *redisStore) Add(id Id) {
|
|
func (store *redisStore) Add(id Id) {
|