工做中又遇到了session問題,因而整理一下有關thinkjs中的session使用小方法:redis
須要用戶登陸的網站基本上都離不開 Session,ThinkJS 裏默認支持多種類型的 Session,如:file
,db
,redis
等。數據庫
memory
內存方式
file
文件類型
db
數據庫類型
redis
Redis 類型
使用 redis
類型的 Session 須要配置 Redis,具體配置爲:cookie
redis 配置,config/redis.js
。session
export default { host: "127.0.0.1", port: 6379, password: "", timeout:24*60*60, //一天
log_connect: true };
Session 默認配置以下,能夠在 src/common/config/session.js
中進行修改:網站
export default { type: "file", name: "thinkjs", //對應 cookie 的名稱
secret: "", //Session 對應的 cookie 是否須要加密
timeout: 24 * 3600, //過時時間,默認爲一天
cookie: { // cookie options
length: 32 }, adapter: { file: { path: think.RUNTIME_PATH + "/session" } } };
關於cookie的配置,config/cookie.js
this
export default { type: "file", name: "thinkjs", //對應 cookie 的名稱
secret: "", //Session 對應的 cookie 是否須要加密
timeout: 24 * 3600, //過時時間,默認爲一天
cookie: { // cookie options
length: 32 }, adapter: { file: { path: think.RUNTIME_PATH + "/session" } } };
1.清除session 加密
await this.session();
2.設置session
this.session('ticket_weixinshare',ticket);//key value形式
3.讀取sessionspa
await this.session("ticket_weixinshare");//用key值獲取session
總結:其實以前的本身,每次一遇到有關session的問題,就會默默的給本身施加壓力,並告訴本身:這個很難,很差解決,因而不禁自主的頭就疼了……不過隨着入手的項目越多,慢慢的意識到原來有關session的問題並非那麼的頭疼,反而是本身造成了錯誤的思惟定式!之後,改正缺點~code