簡體   English   中英

Phoenix Framework的Plug.Conn中assign和put_session有什么區別?

[英]What is the difference between assign and put_session in Plug.Conn of the Phoenix Framework?

文檔( https://hexdocs.pm/plug/Plug.Conn.html )命名兩個函數,允許在conn存儲鍵值對

assign(conn, key, value)

為連接中的鍵分配值

put_session(conn, key, value)

將指定值放在給定鍵的會話中

這兩個功能有什么區別?

基本上, assign只適用於特定的連接 - Plug.Conn結構 - 這意味着在請求/響應周期結束時,該值將隨着請求的結束而消失 - 因為conn也會死亡。

會話壽命更長,並存儲在cookie或ets中。 多虧了你保持eg。 有關跨請求成功登錄用戶的數據。

TL; DR:

每個請求assign工作,並在請求周期結束后消除。

put_session在會話中插入一個值,直到會話清除/過期才可用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM