WeChat開発入門 (9) ローカルキャッシュ

零下一度
リリース: 2017-05-24 09:55:26
オリジナル
1902 人が閲覧しました

現在、WeChat は各ミニ プログラムに 10M のローカル キャッシュ スペースを提供しています (なんてことだ、とても大きいです)

  1. ローカル キャッシュを使用すると、ミニ プログラムで次のことができます:

  • オフライン アプリケーション (テスト済みのキャッシュ データはネットワークがない場合に操作されます)

  • スムーズなユーザーエクスペリエンス

  • ネットワークリクエストを削減し、サーバーリソースを節約します

  • どのデータがキャッシュに適しています:

    • ホットデータ

    • Stat ICデータ(ユーザーデータ、サーバー認証IDなど)

    • ネットワークアドレス(写真、ファイルなどのネットワークアドレス)

    • ページングリストデータと詳細コンテンツ

  • 一般的なキャッシュシステムはキー値を使用 データ

    key に対して Hash アルゴリズムを実行することで、query の際にその値にバインドされ、アルゴリズムの空間複雑度に基づいてクエリが実行されます。ハッシュ化されたキー O(1);

  • ミニ プログラムのローカル キャッシュの実装は、上記の方法に基づいています。ただし、データを ROM に保存するか、永続化のために RAM に保存するかはまだ検討されていません。

  • ローカル キャッシュ データの操作は、同期と非同期の 2 種類に分けられます。同期メソッドには、データ処理が成功した後の動作を示す成功コールバック関数

    があります。ミニ プログラムによって提供されるローカル キャッシュ操作インターフェイスは次のとおりです。

  • 操作 insert読む削除Clearキャッシュ情報の取得Syncで終わるはすべて同期メソッドです。同期メソッドと非同期メソッドの違いは次のとおりです:
    非同期メソッド 同期メソッド
    wx.setStorage wx.setStorageSync
    wx.getStorage wx.getStorageSync
    wx.removeStorage wx.removeStorageSync
    wx.cle arStorage w x.clearStorageSync
    wx.getStorageInfo wx.getStorageInfoSync

      同期メソッドは、同期メソッドが戻るまで現在のタスクをブロックします。
    • 非同期メソッドは現在のタスクをブロックしません。
    • 6. 以下は、キャッシュを挿入する 2 つのメソッドを使用した同期と非同期の違いについて説明しています。

    1. 最初に非同期メソッドを呼び出し、次に同期メソッドを呼び出します。

    同期メソッドが非同期メソッドより前に正常に保存された場合、非同期メソッドが現在のタスクをブロックしていないことがわかります。
    WeChat開発入門 (9) ローカルキャッシュ1. 最初に同期メソッドを呼び出し、次に非同期メソッドを呼び出します。

     Page({save: function(e){console.log('开始保存')wx.setStorage({
       key: 'key1',
       data: 'data1',
       success: function(res){
        console.log('异步保存成功')  }})wx.setStorageSync('key2', 'data2')console.log('同步保存成功')  }})
    ログイン後にコピー

    実行結果:

    同期メソッドが正常に実行されるまで、非同期メソッドは実行されないことがわかります。
    WeChat開発入門 (9) ローカルキャッシュCache

    API

    は、ローカル キャッシュ情報を取得するためのインターフェイス wx.getStorageInfo を提供しており、開発者はこれを使用して、キャッシュ時間の追加、上書きせずに挿入、バッチ削除、現在のキャッシュ サイズの決定など、既存の API を再カプセル化できます。待って。

    最後の問題は、キャッシュ分離レベルの問題です。

    同じ携帯電話、異なるミニプログラム アプリケーションは、少なくとも論理ストレージの観点からは、アプリケーション レベルの分離を満たす共有キャッシュではありません。

    1. コードをスキャンすることで、同じ携帯電話と同じミニプログラムを異なる WeChat ユーザーが使用できます。現在のテスト条件では、キャッシュは共有されません。

    2. 同じ携帯電話、同じミニプログラム、同じWeChatユーザーがコードを2回スキャンして使用しました。テスト後、それは共有キャッシュです。

    3. 同じ携帯電話、同じアプレット、および異なる WeChat ユーザーがそれを使用するように切り替えます (コードをそれぞれ 2 回スキャンします)。同じユーザーはキャッシュを共有しますが、異なるユーザーはキャッシュを共有しません。

    4. 現在、実機の

      デバッグ
    5. 条件下では、ミニプログラムをスキャンする各ユーザーに10Mのローカルキャッシュが割り当てられると推測できます。
    上記は実際のデバイスでの個人的なテストによって得られた結果であり、結果は完全に正確ではない可能性があり、参照のみを目的としています。

    【関連推奨事項】
    1.

    WeChatパブリックアカウントプラットフォームのソースコードダウンロード

    2. PigCmsマイクロ電子商取引システム運用バージョン(独立したマイクロストアモール+3レベルの流通システム)

    3 WeChat 接続王 v3.4.5 Advanced Business Edition WeChat ルービック キューブ ソース コード

    以上がWeChat開発入門 (9) ローカルキャッシュの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    関連ラベル:
    ソース:php.cn
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート