當前位置:首頁 » 文件管理 » 微信開發緩存問題

微信開發緩存問題

發布時間: 2023-10-07 02:06:29

A. 微信小程序開發——本地緩存

本地緩存是指微信小程序存儲在當前設備空間里地數據。在官方文檔說明中,其所有的數據存儲上限為10MB即單個小程序的存儲空間上限為10MB。==在使用過程中用戶使用本地緩存可以存儲一些非重要性的生產操作,例如讓小程序再次打開能快速渲染頁面,減少用戶等待時間。

小程序提供了讀寫刪本地緩存的方法:

關於同步緩存和非同步緩存的區別
非同步與同步的區別是,非同步不會阻塞當前任務,同步緩存直到同步方法處理完才能繼續往下執行。

寫入本地緩存

根據key讀取本地緩存

根據key移除本地緩存

清除本地所有緩存

最後,還要注意的一點是如果寫入了同樣key的緩存數據,後寫的會覆蓋了前者,因此需要我們注意一下

B. 微信小程序H5頁面緩存問題處理

微信小程序會緩存H5頁面,導致頁面升級之後不能及時刷新。

這種情況通過配置nginx不緩存靜態頁面無法影響到小程序緩存。

假設H5請求地址鬧掘是 https://xxx/h5/

用戶進入小程序之後生成一個數字,請飢彎乎求H5時把數字拼接到URL後綴即爛悉可。

例: https://xxx/h5/222/

C. 微信開發緩存怎麼清理

裝個手機管家在手機上面吧
然後打開選擇清理加速,它可以檢測出手機裡面所有的垃圾緩存
最後根據檢測的結果,直接一鍵把手機裡面的垃圾緩存,全部刪除了就行了

D. 微信公眾號html緩存處理

近期在發版驗證時遇到一個問題,微信公眾號登入後頁面顯示的是老的,強制刷新後,再退出重新登入,仍然顯示的是老的頁面;
經過一番查找得到了解決方案:
(1)公眾號放的菜單地址後加 ?version=1.0.0 每次更新頁面則更新菜單;
但是這樣每次發版還得修改公眾號的菜單,多一步很不方便;
於是和前端一塊嘗試尋找到另一中解決方案:
(2)前端在html的header中加入緩存策略
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
<meta http-equiv="Cache" content="no-cache" />
這樣就徹底解決了緩存問題;

但是注意,往往遇到此問題時,已經緩存了沒有加緩存策略的html文件,需要清除掉緩存,載入新的帶緩存策略的html文件,將來才會實時更新;但是也不能讓用戶每個都清理緩存啊;
於是就要配合第一種解決方法,在菜單鏈接後面加參數,這樣用戶側會重新load新版本的html(微信菜單設置發布後,有將近10分鍾的延時),這樣配合使用就完美解決了我們的問題;

期間多次嘗試發現,微信的緩存策略和頁面地址的後綴參數相關,使用相同的後綴,在不設置緩存策略下,就能回到對應的版本,很強大,也很雞肋

E. 緩存問題之非同步處理(微信小程序)

微信小程序裡面的本地緩存
wx.setStorage(wx.setStorageSync)、wx.getStorage(wx.getStorageSync)、wx.clearStorage(wx.clearStorageSync)

localStorage :是永久存儲,以用戶維度隔離,同一台設備上,A 用戶無法讀取到 B 用戶的數據。

在小程序中無 Sync 結尾的本地緩存中,都為 非同步緩存
wx.setStorage(object)
參數object說明

控制台
表示儲存成功

wx.getStorage(object)
示例

這個key值就是先前setStorage的命名key,證明指定獲取那個緩存中的數據

wx.clearStorage(object)
清理本地數據緩存

將之前儲存在Storage中的數據清空。適用於退出登錄後登錄信息的清除

wx.getStorageInfo(object)
非同步獲取當前storage的相關信息( 當前小程序裡面所有的storage的儲存信息

參數說明

執行結果

wx.removeStorage(OBJECT)
從本地緩存中非同步移除指定 key值

獲取當前data值時將報錯undefined
執行結果

F. 十二、清理微信瀏覽器H5網頁緩存

前言:
緩存這個問題的出現,真真切切的感受到微信瀏覽器這鬼東西對前端程序員充滿了惡意,捋捋自己的發型,甚是恐慌。

解決方案:

出現緩存問題導致用戶出現很多車禍現場(還和java叼起來了),因為是上線了的項目,為了不破環生產環境,讓客服暫時教用戶解決微信緩存問題。
手動清理緩存

微信瀏覽器在iOS和安卓中瀏覽器內核不一樣;從而不同的系統和不同版本的微信方式也各有不同。清理緩存的方式也就各種不一樣的:

android:debugx5.qq.com,這是微信x5內核瀏覽器的debug調試頁面,在微信瀏覽器打開,拉到頁面最底部,有清理緩存的選項。

安卓微信x5內核瀏覽器debug頁面

ios:
1、 取關公眾號,重新關注;
2.、 退出微信賬號登陸,重新登陸微信;
3、 微信設置-通用-存儲-清理緩存;
4.、 進入頁面,右上角『...』選項中點擊「刷新」

自動清理緩存

h5頁面設置meta標簽

一般瀏覽器還有用,碰到wx,並沒有鳥用

文件載入設置版本號
h5很多都是靜態資源,有些鏈接都是通過後台配的所以加版本號變得操作異常繁瑣,解決起來也是摒棄了一些邏輯。不過值得欣慰的是,這個令人頭皮發麻的問題得以解決!

版本號有兩種:

為啥用第二種,因為微信訪問的時候有些場景可能會把參數或者參數值直接給忽略

總結:還是回歸現實(天氣冷了,還想多買幾件格子衫)。
末尾彩蛋

熱點內容
centos使用python 發布:2024-05-18 23:39:48 瀏覽:867
幻影天龍腳本 發布:2024-05-18 23:38:17 瀏覽:712
編程的py 發布:2024-05-18 23:36:22 瀏覽:74
安卓系統怎麼改序列號 發布:2024-05-18 23:28:16 瀏覽:783
c語言中實數 發布:2024-05-18 23:21:03 瀏覽:895
伺服器搭建題目 發布:2024-05-18 23:01:29 瀏覽:28
下載武裝突襲後怎麼進伺服器 發布:2024-05-18 22:56:17 瀏覽:825
c語言字元串大寫變小寫 發布:2024-05-18 22:56:16 瀏覽:438
重啟刪除的文件夾 發布:2024-05-18 22:34:11 瀏覽:638
視頻軟體源碼 發布:2024-05-18 22:22:24 瀏覽:429