瀏覽代碼

feat:增加日志

wangchuanjin 2 年之前
父節點
當前提交
cbc04d86e2

+ 4 - 3
go-xweb/httpsession/memorystore.go

@@ -44,13 +44,14 @@ func (node *sessionNode) Set(key string, v interface{}) {
 	node.lock.Unlock()
 	node.lock.Unlock()
 }
 }
 
 
-func (node *sessionNode) SetMultiple(m map[string]interface{}) {
+func (node *sessionNode) SetMultiple(m map[string]interface{}) error {
 	node.lock.Lock()
 	node.lock.Lock()
 	for k, v := range m {
 	for k, v := range m {
 		node.kvs[k] = v
 		node.kvs[k] = v
 	}
 	}
 	node.last = time.Now()
 	node.last = time.Now()
 	node.lock.Unlock()
 	node.lock.Unlock()
+	return nil
 }
 }
 
 
 func (node *sessionNode) Del(keys ...string) {
 func (node *sessionNode) Del(keys ...string) {
@@ -162,7 +163,7 @@ func (store *MemoryStore) Set(id Id, key string, value interface{}) {
 	node.Set(key, value)
 	node.Set(key, value)
 }
 }
 
 
-func (store *MemoryStore) SetMultiple(id Id, m map[string]interface{}) {
+func (store *MemoryStore) SetMultiple(id Id, m map[string]interface{}) error {
 	store.lock.RLock()
 	store.lock.RLock()
 	node, ok := store.nodes[id]
 	node, ok := store.nodes[id]
 	store.lock.RUnlock()
 	store.lock.RUnlock()
@@ -175,7 +176,7 @@ func (store *MemoryStore) SetMultiple(id Id, m map[string]interface{}) {
 		store.nodes[id] = node
 		store.nodes[id] = node
 		store.lock.Unlock()
 		store.lock.Unlock()
 	}
 	}
-	node.SetMultiple(m)
+	return node.SetMultiple(m)
 }
 }
 
 
 func (store *MemoryStore) newNode() *sessionNode {
 func (store *MemoryStore) newNode() *sessionNode {

+ 10 - 5
go-xweb/httpsession/redissessionstore.go

@@ -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) {

+ 2 - 2
go-xweb/httpsession/session.go

@@ -31,8 +31,8 @@ func (session *Session) Set(key string, value interface{}) {
 	session.manager.store.Set(session.id, key, value)
 	session.manager.store.Set(session.id, key, value)
 }
 }
 
 
-func (session *Session) SetMultiple(m map[string]interface{}) {
-	session.manager.store.SetMultiple(session.id, m)
+func (session *Session) SetMultiple(m map[string]interface{}) error {
+	return session.manager.store.SetMultiple(session.id, m)
 }
 }
 
 
 func (session *Session) Del(keys ...string) bool {
 func (session *Session) Del(keys ...string) bool {

+ 1 - 1
go-xweb/httpsession/store.go

@@ -8,7 +8,7 @@ type Store interface {
 	Get(id Id, key string) interface{}
 	Get(id Id, key string) interface{}
 	GetMultiple(id Id) map[string]interface{}
 	GetMultiple(id Id) map[string]interface{}
 	Set(id Id, key string, value interface{})
 	Set(id Id, key string, value interface{})
-	SetMultiple(id Id, m map[string]interface{})
+	SetMultiple(id Id, m map[string]interface{}) error
 	Del(id Id, keys ...string) bool
 	Del(id Id, keys ...string) bool
 	Clear(id Id) bool
 	Clear(id Id) bool
 	Add(id Id)
 	Add(id Id)