From 338e5c4b8ba59f533bc0b62f634628d2b7a861a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=83=A1=E5=AD=90=E8=B1=AA?= Date: Tue, 2 Mar 2021 21:01:59 +0800 Subject: [PATCH] Update 06.2.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix session销毁的*Manager#GC()直接执行 --- zh/06.2.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/zh/06.2.md b/zh/06.2.md index bcbfae863..451a6a3d0 100644 --- a/zh/06.2.md +++ b/zh/06.2.md @@ -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都是可用的,类似的方案也可以用于统计在线用户数之类的。