フォーラムを作成し、データベースの作業を節約するためにapcおよびmemcacheキャッシングソリューションを実装しています。
「Categories::getAll」などのキーを使用してキャッシュレイヤーの実装を開始しました。ユーザー固有のデータがある場合は、ユーザーIDなどのキーを追加して取得し"User::getFavoriteThreads|1471"
ます。ユーザーが新しいお気に入りのスレッドを追加したら、キャッシュキーを削除すると、エントリが再作成されます。
ただし、ここに問題があります。
フォーラムにスレッドをキャッシュしたかったのです。非常に単純な「Forum::getThreads |$iForumId」。しかし...ページネーションを使用すると、これをいくつかのキャッシュエントリに分割する必要があります。たとえば
"Forum::getThreads|$iForumId|$iLimit|$iOffset".
誰かがフォーラムに新しいスレッドを投稿するまでは、これで問題ありません。"Forum::getThreads|$iForumId"
制限とオフセットに関係なく、下のすべてのキーを削除する必要があります。
この問題を解決する良い方法は何でしょうか?一致しないものが見つかるまで、考えられるすべての制限とオフセットをループすることは本当にしたくありません。
ありがとう。