Update 06.2.md
fix session销毁的*Manager#GC()直接执行
This commit is contained in:
@@ -217,8 +217,7 @@ func init() {
|
||||
func (manager *Manager) GC() {
|
||||
manager.lock.Lock()
|
||||
defer manager.lock.Unlock()
|
||||
manager.provider.SessionGC(manager.maxLifeTime)
|
||||
time.AfterFunc(time.Duration(manager.maxLifeTime), func() { manager.GC() })
|
||||
time.AfterFunc(time.Duration(manager.maxLifeTime), func() { manager.provider.SessionGC(manager.maxLifeTime) })
|
||||
}
|
||||
```
|
||||
我们可以看到GC充分利用了time包中的定时器功能,当超时`maxLifeTime`之后调用GC函数,这样就可以保证`maxLifeTime`时间内的session都是可用的,类似的方案也可以用于统计在线用户数之类的。
|
||||
|
||||
Reference in New Issue
Block a user