Browse Source

修改session

wangchuanjin 2 years ago
parent
commit
fe962d69e7
1 changed files with 16 additions and 9 deletions
  1. 16 9
      go-xweb/httpsession/redissessionstore.go

+ 16 - 9
go-xweb/httpsession/redissessionstore.go

@@ -91,10 +91,12 @@ func (store *redisStore) Del(id Id, keys ...string) bool {
 	defer lock(id).Unlock()
 	bs, err := redis.GetBytes("session", string(id))
 	if err != nil {
-		return true
+		return false
 	}
 	var userdata map[string]interface{}
-	json.Unmarshal(*bs, &userdata)
+	if json.Unmarshal(*bs, &userdata) != nil {
+		return false
+	}
 	for _, key := range keys {
 		delete(userdata, key)
 	}
@@ -103,8 +105,10 @@ func (store *redisStore) Del(id Id, keys ...string) bool {
 		timeout = RedisNotLoginExpire
 	}
 	putdata, _ := json.Marshal(userdata)
-	redis.PutBytes("session", string(id), &putdata, timeout)
-	return true
+	if redis.PutBytes("session", string(id), &putdata, timeout) == nil {
+		return true
+	}
+	return false
 }
 
 //根据自定义字段,更新
@@ -116,15 +120,19 @@ func (store *redisStore) UpdateByCustomField(findkey string, findvalue interface
 		return false
 	}
 	var data map[string]interface{}
-	json.Unmarshal(*bs, &data)
+	if json.Unmarshal(*bs, &data) != nil {
+		return false
+	}
 	timeout := int(store.maxAge.Seconds())
 	if RedisNotLoginKey != "" && data[RedisNotLoginKey] == nil {
 		timeout = RedisNotLoginExpire
 	}
 	data[setkey] = setvalue
 	putdata, _ := json.Marshal(data)
-	redis.PutBytes("session", findkey, &putdata, timeout)
-	return true
+	if redis.PutBytes("session", findkey, &putdata, timeout) == nil {
+		return true
+	}
+	return false
 }
 
 func (store *redisStore) Exist(id Id) bool {
@@ -137,8 +145,7 @@ func (store *redisStore) Exist(id Id) bool {
 func (store *redisStore) Clear(id Id) bool {
 	lock(id).Lock()
 	defer lock(id).Unlock()
-	redis.Del("session", string(id))
-	return true
+	return redis.Del("session", string(id))
 }
 
 func (store *redisStore) Run() error {