データの一覧表示やページ分けがあり、様々な条件で絞り込むことができます。
この場合、データをキャッシュする最適な方法は何ですか?
ページング条件とフィルタリング条件をキャッシュのキーとして使用する場合、N セットのデータをキャッシュする必要があります。
これには、大規模なキャッシュでない限り、N グループのキャッシュのみが必要です。次に、配列を使用してフィルタリングします
すべてのデータをキャッシュします 条件に基づいてフィルタリングするのは非現実的です。
フィルタリングするたびにフィルタリング条件に従ってキャッシュを実行すると、N 個の複数のキャッシュが存在し、キャッシュを過剰に占有する可能性があります。
では、なぜキャッシュするのでしょうか?
本当にキャッシュしたい場合は、2 つのレベルでキャッシュできますが、このような動的コンテンツにはどのようなキャッシュが必要なのかを尋ねる必要があります。
1. すべてのデータをキャッシュします。ID はインデックスとして使用されます
2. ページングとフィルター条件をキャッシュします。コンテンツは 1 つの ID のみです
さまざまな条件のフィルター結果の最初のページは、より長い時間キャッシュされ、 2ページ目はキャッシュされるので短くしてください。
本当にキャッシュしたい場合は、2 つのレベルでキャッシュできますが、このような動的コンテンツにはどのようなキャッシュが必要なのかを尋ねる必要があります。
1. すべてのデータをキャッシュし、ID をインデックスとして使用します
2. ページングとフィルター条件をキャッシュします。コンテンツの ID は 1 のみです
コンテンツの ID が 1 のみであるとはどういう意味ですか? 。 。
本当にキャッシュしたい場合は、2 つのレベルでキャッシュできますが、それでも、そのような動的コンテンツにはどのようなキャッシュが必要なのかを尋ねる必要があります。
1. すべてのデータをキャッシュし、ID をインデックスとして使用します
2. ページングとフィルター条件をキャッシュします。コンテンツの ID は 1 のみです
コンテンツの ID が 1 のみであるとはどういう意味ですか? 。 。
データが
id name xx
1 a, xx
2 b xx
であると仮定すると、キャッシュされた 1 はこのデータの完全なセットである必要があります。つまり、
1 => a,xx
2 = > b, xx
次に、ページング + フィルタリング条件は次のようになります
ページング n + フィルタリング条件 => 1,2
このようにして、キャッシュ 1 内の必要なコレクション (つまり 1,2) は、ページング + によって取得できます。この収集を通じてフルセットのキャッシュに移動して実際のデータを取得します
本当にキャッシュしたい場合は、レベル 2 でキャッシュできますが、どのような種類のキャッシュが必要なのかを尋ねる必要があります。このような動的なコンテンツの場合はどうすればよいでしょうか?
1. すべてのデータをキャッシュし、ID をインデックスとして使用します
2. ページングとフィルター条件をキャッシュします。コンテンツの ID は 1 のみです
コンテンツの ID が 1 のみであるとはどういう意味ですか? 。 。
データが
id name xx
1 a, xx
2 b xx
であると仮定すると、キャッシュされた 1 はこのデータの完全なセットである必要があります。つまり、
1 => a,xx
2 = > b, xx
次に、ページング + フィルタリング条件は次のようになります
ページング n + フィルタリング条件 => 1,2
このようにして、キャッシュ 1 内の必要なコレクション (つまり 1,2) は、ページング + によって取得できます。これを介して収集し、実際のデータを取得するためにフルセットのキャッシュに移動します
本当にキャッシュしたい場合は、レベル 2 でキャッシュできますが、それでも質問する必要があります。このような動的コンテンツにはどのようなキャッシュが必要ですか?
1. すべてのデータをキャッシュします。ID はインデックスとして使用されます。
突然目が覚めました。この状況ではキャッシュを使用すべきではないようです。 。