1. 程式人生 > >node 全局對象global —— 記錄在線人員

node 全局對象global —— 記錄在線人員

pan 在線 速度 不能 oba 關閉窗口 增刪改查 卡頓 不存在

  最近做畢設的時候,在做查看在線人員這個功能的時候,一直卡頓,我的思路是數據庫保存 是否在線 字段,可以在登錄時和退出系統修改狀態,但如果用戶之間關閉窗口時候就沒辦法向後臺發出修改在線狀態的請求。我想到的是你koa-session是會話級別,失效時修改狀態,但後面發現並沒有這個事件。後面轉了個思路,能不能在前端關閉窗口的時候,監聽事件,然後修改在線狀態。

  但後面發現在數據庫總是查詢在線狀態很麻煩,所以就想著用戶node全局對象global對象存儲在線人員。

  global對象感覺和jsp的application差不多,它的生命周期為從系統啟動到系統關閉,當系統關閉的時候就肯定不存在在線用戶了,所以用global存儲的話是沒有問題的。global是一個對象,所以可以直接賦值屬性,如global.users=[],記錄在線用戶。

  global記錄在線用戶相對於數據庫存儲字段來說,查詢速度會快很多,直接操作users數組,不需要進行對數據庫的數據進行增刪改查。

node 全局對象global —— 記錄在線人員