Finish the cache refresh things.

This commit is contained in:
lishuang
2020-06-20 22:17:01 +08:00
parent d052f75a1c
commit 601c60fca7
2 changed files with 34 additions and 5 deletions

View File

@ -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.")
}
}
}