2016-12-08 9 views
0

ネットウェブAPIの開発者と私は正しく動作しているかどうかを知りたい。 変更可能なオブジェクトをキャッシュに保存します。 私のチームの他の開発者は、静的なデータだけがキャッシュに保存されるべきだと述べました。 静的なデータだけをキャッシュに格納する必要があるのか​​、それとも別の正しい方法があるのか​​を知りたかったのです。おかげさまで ウェブAPIのキャッシュアーキテクチャ

+0

私はあなたの質問が広すぎると言います。キャッシュで作業するときのゴールデンルールは、キャッシュ内のすべてのデータを古いデータとして扱うことです。例えば、株価が頻繁に変化するため、株価がキャッシュからの為替レートを表示することを望まない場合 – Alex

+0

_変更可能なオブジェクトをキャッシュに保存する - あなたを解決するものはありますか? –

+1

@ Goor Lavi、変更可能なデータに対処するいくつかの戦略があります。インターバル後にデータをリフレッシュするか、変更が発生したときにキャッシュされたデータを強制的にリロードする(または変更をただ更新する)ような種類のアクティブなキャッシュメカニズムを適用するキャッシュポリシーを試すことができます。 –

答えて

0

私は変更の頻度が変わりますが、生成にはかなりの時間がかかりますので、変更可能なオブジェクトにはキャッシュを使用します。

データが常に有効であることを確認するために私がやるべきことがいくつかあります。

キャッシュされたアイテムに、アイテムをキャッシュに15分間保存し、有効期限をスライドさせるポリシーを設定しました。これにより、使用済みアイテムはキャッシュに保持されますが、使用アイテムは少なくなります。

また、APIにキャッシュエビクションエンドポイントがあり、プロセスが完了するとデータベース内のデータを更新するプロセスによってエンドポイントが呼び出されます。更新されたアイテムはキャッシュから削除され、次回の要求時に再構築されます。

最終的に私は、あなたが返そうとしているオブジェクトを取得するのにかかる時間とそれを生成するための遅延が許容できるかどうかということに至ります。

関連する問題