Finish the cache refresh things.
This commit is contained in:
@ -158,3 +158,32 @@ func (this *UserService) FindCacheUsersByUuid(userUuid string) []*User {
|
||||
|
||||
return users
|
||||
}
|
||||
|
||||
//remove cache user by its userUuid
|
||||
func (this *UserService) RemoveCacheUserByUuid(userUuid string) {
|
||||
|
||||
var sessionId interface{}
|
||||
//let session user work.
|
||||
core.CONTEXT.GetSessionCache().Foreach(func(key interface{}, cacheItem *cache.Item) {
|
||||
if cacheItem == nil || cacheItem.Data() == nil {
|
||||
return
|
||||
}
|
||||
if value, ok := cacheItem.Data().(*User); ok {
|
||||
var user = value
|
||||
if user.Uuid == userUuid {
|
||||
sessionId = key
|
||||
this.logger.Info("sessionId %v", key)
|
||||
}
|
||||
} else {
|
||||
this.logger.Error("cache item not store the *User")
|
||||
}
|
||||
})
|
||||
|
||||
exists := core.CONTEXT.GetSessionCache().Exists(sessionId)
|
||||
if exists {
|
||||
_, err := core.CONTEXT.GetSessionCache().Delete(sessionId)
|
||||
if err != nil {
|
||||
this.logger.Error("occur error when deleting cache user.")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user