|
@@ -43,19 +43,17 @@ initNet("http://182.92.97.186/") {
|
|
|
|
|
|
缓存模式属于`CacheMod`枚举, 建议开发者浏览缓存模式的源码和注释,有助于理解和更好的使用缓存模式。
|
|
|
|
|
|
-| 常量 | 作用 | 描述 |
|
|
|
-| ------------------------------ | -------------------------------- | ------------------------------------------------------------ |
|
|
|
-| `HTTP` | Http标准模式 | 发起请求前如果本地已经有缓存,会检查缓存是否过期,<br />如果没过期则返回缓存数据,如果过期则带上缓存头去服务器做校验。<br />如果服务器响应304则返回缓存数据,如果响应其它响应码则读取服务器数据,并根据服务器响应头来决定是否缓存数据到本地。如果请求失败则是正常失败。 |
|
|
|
-| `HTTP_YES_THEN_WRITE_CACHE` | 先Http标准协议再写入缓存 | 发起请求前如果本地已经有缓存则带缓存头,在有缓存的时候,服务器可能响应304,则返回缓存数据,如果服务器响应其它响应码,则读取服务器数据,并把请求成功后的数据缓存到本地。如果请求失败则是正常失败。 |
|
|
|
-| `NETWORK` | 仅仅请求网络 | 发起请求前不管本地是否有缓存,都不会带上缓存头,请求成功后,不论服务器响应头如何,都不会缓存数据到本地。如果请求失败则是正常失败 |
|
|
|
-| `NETWORK_YES_THEN_HTTP` | 先仅仅网络再按照Http标准协议 | 发起请求前不管本地是否有缓存,都不会带上缓存头,请求成功后根据服务器响应头来决定是否缓存数据到本地。如果请求失败则是正常失败 |
|
|
|
-| `NETWORK_YES_THEN_WRITE_CACHE` | 先仅仅网络再写入缓存 | 发起请求前不管本地是否有缓存,都不会带上缓存头,请求成功后会把数据缓存到本地。如果请求失败则是正常失败。 |
|
|
|
-| `NETWORK_NO_THEN_READ_CACHE` | 先仅仅网络,失败后读取缓存 | 发起请求前不管本地是否有缓存,都不会带上缓存头,请求成功后正常返回,请求失败后尝试读取缓存,如果缓存不存在则继续按照之前失败的流程走,如果缓存存在则正常返回缓存 |
|
|
|
-| `READ_CACHE ` | 仅仅读取缓存 | 仅读取缓存 |
|
|
|
-| `READ_CACHE_NO_THEN_NETWORK` | 先读取缓存,缓存不存在再请求网络 | 先尝试读取缓存,如果缓存存在就返回缓存,如果缓存不存在就请求网络,请求成功后不论服务器响应头如何都不存缓存数据。如果请求失败则是正常失败。 |
|
|
|
-| `READ_CACHE_NO_THEN_HTTP` | 先读取缓存,缓存不存在再 | 先尝试读取缓存,如果缓存存在就返回缓存,如果缓存不存在就请求网络,请求成功后根据服务器响应头来决定是否缓存数据到本地。如果请求失败则是正常失败。 |
|
|
|
-
|
|
|
-<br>
|
|
|
-便于理解的思维导图
|
|
|
-
|
|
|
-<img src="https://i.imgur.com/sHnrzWX.png" width="600"/>
|
|
|
+| 常量 | 描述 |
|
|
|
+| ------------------------------ | ------------------------------------------------------------ |
|
|
|
+| `HTTP` | 发起请求前如果本地已经有缓存,如果缓存未过期则返回缓存数据,<br>如果过期则带上缓存头去服务器做校验。如果服务器响应304则返回缓存数据,否则读取服务器数据,<br>根据服务器响应头来决定是否写入缓存数据 |
|
|
|
+| `HTTP_YES_THEN_WRITE_CACHE` | 发起请求前如果本地已经有缓存则带缓存头,服务器响应304才返回缓存数据,否则读取服务器数据,<br>并写入缓存数据 |
|
|
|
+| `NETWORK` | 发起请求前不管本地是否有缓存,都不会带上缓存头,<br>不论服务器响应头如何,绝不写入缓存数据 |
|
|
|
+| `NETWORK_YES_THEN_HTTP` | 发起请求前不管本地是否有缓存,都不会带上缓存头,<br>根据服务器响应头来决定是否写入缓存数据 |
|
|
|
+| `NETWORK_YES_THEN_WRITE_CACHE` | 发起请求前不管本地是否有缓存,都不会带上缓存头,<br>请求成功后写入缓存数据 |
|
|
|
+| `NETWORK_NO_THEN_READ_CACHE` | 发起请求前不管本地是否有缓存,都不会带上缓存头,请求失败后尝试读取缓存, <br>根据服务器响应头来决定是否写入缓存数据 |
|
|
|
+| `READ_CACHE ` | 仅读取缓存 |
|
|
|
+| `READ_CACHE_NO_THEN_NETWORK` | 读取缓存,如果缓存不存在就请求网络,<br>不写入缓存数据 |
|
|
|
+| `READ_CACHE_NO_THEN_HTTP` | 先读取缓存,如果缓存不存在就请求网络,<br>根据服务器响应头来决定是否写入缓存数据 |
|
|
|
+| `READ_CACHE_NO_THEN_NETWORK_THEN_WRITE_CACHE` | 先本地有缓存则读取缓存,如果没有缓存则读取网络并且写入缓存 |
|
|
|
+
|
|
|
+<br>
|