2013-04-12 65 views
2

你好我寫一個移動應用客戶端設有網絡請求,通過POCO C++網絡庫。但出於性能方面的原因,我需要緩存http響應(響應緩存到磁盤)。我聽說這可以完成,但似乎POCO Net缺乏這種支持?是否有任何其他網絡庫支持響應緩存(請指點示例)?C++網絡庫支持響應緩存

例如,如果我申請一個JSON我要檢查,如果緩存的版本是最新的最新與服務器版本,之前我把它拿來,使應用程序的整體外觀更光滑。

(我需要使用C++,因爲使用C IM開發跨平臺++)

+1

至少,POCO具有AbstractCache和[AccessExpireCache](http://pocoproject.org/docs/Poco.AccessExpireCache.html)作爲構建塊 – sehe

回答

0

有出的現成的支持,但使用Cache Framework基於AbstractStrategy磁盤持久性的自定義策略應該是簡單。

兩件事情要記住:

  1. Cache Framework性能/尺寸懲罰(檢查鏈接的文檔)
  2. Cache-control header

的響應是可緩存的,如果要求了請求的方法,請求 頭字段,和響應狀態指示它是 可緩存的。

HTH

+0

謝謝,是有在類HTTPResponse的方法或者在頭域中使用的其他類的名稱:即。緩存控制標題和指令可以從? –

+0

是的,見[NameValueCollection中(https://github.com/pocoproject/poco/blob/develop/Net/include/Poco/Net/NameValueCollection.h#L92):: get()和具有()成員函數。 – Alex