問題タブ [cache-invalidation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-chrome - Webpack を使用したキャッシュの無効化
hash
によって生成されたバンドルに ID を追加していwebpack
ます。新しいビルドを取得するたびに、ファイル名が新しいハッシュで変更され、index.html
ファイルがこれらのファイルを参照していることがわかります。しかし、アプリをデプロイした後、Chrome を使用している一部のユーザーは、アプリからログアウトするまで新しいファイルが表示されません。以前にこれに遭遇した人はいますか?それを修正する解決策を知っていますか?
caching - Redux-persist: アプリからではなく開始された、アイテムの削除の処理
同じデータベース (webapp と react ネイティブ アプリ) を使用して、同じサービスに 2 つの todo リスト アプリがあるとします。ユーザーは両方で自分のアカウントにログインでき、両方からメモを作成/更新/削除できます。
これらのアプリが redux-persist を使用していることを考慮してください。たとえば、ネイティブ アプリはストアを AsyncStorage に保持し、アプリの起動時にハイドレートするため、ユーザーはメモをより速く見ることができます。
ユーザーが 2 つの todo アイテムを持ち、両方のアプリでログインしているとします。2 つの todo アイテムがデータベースと、webapp と react ネイティブ アプリの両方の redux ストアに存在します。次に、ユーザーは反応ネイティブ アプリをシャットダウンし、Web アプリから 1 つの todo アイテムを削除します。削除を開始したのは Web アプリであるため、アクションがディスパッチされ、アイテムはストアと Web アプリの永続レイヤー (ローカルストレージなど) から削除されました。しかし、react ネイティブ アプリはオフラインだったので、ユーザーが react ネイティブ アプリを起動すると、そのストアは AsyncStorage からハイドレートされ、削除された todo アイテムがユーザーに表示されます。このような状況はどのように修正できますか?
ユーザーが Todo アイテムをアプリから削除した場合、そのアイテムが削除されたことを追跡して (アクションがディスパッチされたため)、永続レイヤーから消去するのは簡単ですが、そのアクションが別のアプリによってディスパッチされた場合 (例-反応するネイティブアプリとは対照的に、webappによって)、または管理者によってデータベースから手動で削除されましたか? 削除されたアイテムと削除されていないアイテムをどうにかして区別する必要があります。どのように?
私は次のようなアプローチを考えました:「todos がフェッチされたら、それらをすべて永続化レイヤーから削除します」など、そのような場合、必要なものをパージすることになります。
このような問題を解決するために、どのような解決策/パターンを提案できますか?
mysql - mysqlでredisキャッシュを無効にする方法は?
mysql のキャッシュとして redis を使用したいのですが、主なアイデアは次のとおりです。
クエリ
redisから読む
存在しない場合は、mysql から読み取り、redis キャッシュに追加します
追加
- mysqlに直接書き込む
更新&削除
- mysqlに書き込む
- redis のキャッシュを無効にする
私の質問は: キャッシュを無効にする方法は?
私はそれを削除したり、有効期限を設定したりできることを知っていますか、それは通常の方法ですか、それともキャッシュを無効にする標準的な方法はありますか?
ありがとう!