Flask核心機制 current app

2022-01-11 19:13:47 字數 682 閱讀 2037

flask的request物件是乙個全域性物件,跟django的request不太一樣,django的request物件是每次請求乙個,但是flask全域性就乙個request物件,但是每次請求它能區分開是哪個請求,這個做的挺牛逼的,我去看了一下它的原始碼,原來是寫了乙個local類,來處理不同執行緒,每乙個執行緒都用自己的reqeust物件,這樣保證了使用的時候沒有亂。

請求上下文是ctx物件,內部有request和session物件

執行緒 a 往 localstack中塞入 a

執行緒 b 往 localstack 中塞入 b

無論在是什麼地方,呼叫localproxy,

執行緒 a 永遠取到得是 a,執行緒 b 取到得永遠是 b

有關local、localstack的詳解可以參考:

from flask import flask,request,session,g

def auth_demo():

g.val = 123

def index():

print(g.val)

return "hello world"

if __name__ == '__main__':

總結:flask中的上下文管理機制分為請求上下文和應用上下文兩大方面,通過上下文的管理機制,實現了即去即用的乙個特色。

platform核心機制

platform 核心機制 guolele 2011.1.21 platform 是2.6 核心新引進的虛擬匯流排,而且現在有很多裝置驅動都是掛載在虛擬匯流排上,特別是幀緩衝裝置都是建立在平台匯流排基礎上,這也使得 lcd等圖形驅動也不可避免的使用平台匯流排,下面簡單分析一下平台匯流排的機制。首先先...

ETCD核心機制解析

etcd整體機制 etcd 是乙個分布式的 可靠的 key value 儲存系統,它適用於儲存分布式系統中的關鍵資料。etcd 集群中多個節點之間通過raft演算法完成分布式一致性協同,演算法會選舉出乙個主節點作為 leader,由 leader 負責資料的同步與分發。當 leader 出現故障後系...

Kafka核心概念及核心機制

broker 程序 producer 生產者 flume consumer 消費者 ss spark streaming,topic 主題 分割槽 副本數 資料夾 partition 分割槽乙個分割槽可以有多個副本 重點解析 1.乙個組內,共享乙個公共的groupid 2.組內的所有消費者協調一起,...