簡體   English   中英

Falcor如何在服務器端緩存數據?

[英]How does Falcor cache data in the server side?

我了解到,在falcor客戶端中,它會將數據緩存在模型中。 在應用程序服務器端,我們需要實現falcor路由作為數據源。 Falcor是否在應用程序服務器端緩存數據? 如果是這樣,怎么辦? 謝謝,

簡而言之,不,falcor路由器不緩存數據。 由於單個請求可能由多個路由解決,因此路由器確實會建立每個請求的緩存,但是在路由器完成對請求的響應后,該緩存將被丟棄。

例如以下要求

method=get
paths=[
  items[0..10]['id', 'name'],
  items.length,
]

可以通過兩條或三種不同的路線來解決,例如

[items[{range}]]
[items.length]
[itemsById[{keys}]

路由器會將每個路由響應合並到一個圖形片段中,直到解析所有請求的路徑並跟蹤所有返回的引用節點。 可以將這個圖片段視為每個請求的緩存(或者至少在源代碼中稱為),但是在響應返回給客戶端之后將其刪除。

這意味着幾件事:

  • 服務器不知道客戶端上已經/沒有什么數據
  • 圖形片段沒有實現,這意味着運行相同的查詢兩次(假設它沒有到達falcor客戶端模型的緩存)將運行相同的查詢。

服務器端緩存和緩存失效更適合在數據庫層而不是路由器層中處理

暫無
暫無

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

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