メインコンテンツまでスキップ

APIキャッシュクリアのタイミングと範囲

APIキャッシュがクリアされるタイミング

コンテンツ一覧を取得するAPIにおいて、キャッシュの有効期間中にそのコンテンツを更新した場合、キャッシュされた内容は古くなってしまいます。そこでKurocoでは、キャッシュ情報を更新すべき様々なタイミングでキャッシュクリアを行なっています。

例えばKuroco管理画面からコンテンツを更新時した際には、コンテンツに関連するエンドポイントのキャッシュがクリアされます。しかしここで、更新されたコンテンツと全く関係のないコンテンツ定義グループのキャッシュまでクリアしてしまうと、キャッシュヒット率が下がってしまいます。したがってKurocoは更新されたコンテンツと同一のコンテンツ定義グループに限定して、関連するエンドポイントのキャッシュをクリアしています。

キャッシュがクリアされる操作およびその範囲

管理画面からの操作

キャッシュがクリアされる管理画面上の操作と、クリアされるキャッシュの範囲は以下の通りです。

操作操作詳細クリアされるキャッシュの単位
コンテンツ編集コンテンツを新規作成コンテンツ定義グループID単位。
モデルカテゴリーが「コンテンツ」で、同じコンテンツ定義グループに関連づけられているエンドポイントのキャッシュが削除されます。
コンテンツを更新コンテンツ定義グループID単位。
モデルカテゴリーが「コンテンツ」で、同じコンテンツ定義グループに関連づけられているエンドポイントのキャッシュが削除されます。
コンテンツを削除コンテンツ定義グループID単位。
モデルカテゴリーが「コンテンツ」で、同じコンテンツ定義グループに関連づけられているエンドポイントのキャッシュが削除されます。
コンテンツを承認依頼コンテンツ定義グループID単位。
モデルカテゴリーが「コンテンツ」で、同じコンテンツ定義グループに関連づけられているエンドポイントのキャッシュが削除されます。
コンテンツを承認コンテンツ定義グループID単位。
モデルカテゴリーが「コンテンツ」で、同じコンテンツ定義グループに関連づけられているエンドポイントのキャッシュが削除されます。
コンテンツの並び順更新コンテンツ定義グループID単位。
モデルカテゴリーが「コンテンツ」で、同じコンテンツ定義グループに関連づけられているエンドポイントのキャッシュが削除されます。
コンテンツアップロードCSVファイルをアップロードコンテンツ定義グループID単位。
モデルカテゴリーが「コンテンツ」で、同じコンテンツ定義グループに関連づけられているエンドポイントのキャッシュが削除されます。
コンテンツカテゴリ編集コンテンツカテゴリを新規作成コンテンツ定義グループID単位。
モデルカテゴリーが「コンテンツ」で、同じコンテンツ定義グループに関連づけられているエンドポイントのキャッシュが削除されます。
コンテンツカテゴリを更新コンテンツ定義グループID単位。
モデルカテゴリーが「コンテンツ」で、同じコンテンツ定義グループに関連づけられているエンドポイントのキャッシュが削除されます。
コンテンツカテゴリを削除コンテンツ定義グループID単位。
モデルカテゴリーが「コンテンツ」で、同じコンテンツ定義グループに関連づけられているエンドポイントのキャッシュが削除されます。
[外部システム連携] Wordpressインポートコンテンツ定義グループID単位。
モデルカテゴリーが「コンテンツ」で、同じコンテンツ定義グループに関連づけられているエンドポイントのキャッシュが削除されます。
フォーム編集フォームを新規作成フォームID単位。
モデルカテゴリーが「フォーム」で、同じフォームIDに関連づけられている全てのエンドポイントのキャッシュが削除されます。
フォームを削除フォームID単位。
モデルカテゴリーが「フォーム」で、同じフォームIDに関連づけられている全てのエンドポイントのキャッシュが削除されます。
フォーム基本情報・項目設定を更新フォームID単位。
モデルカテゴリーが「フォーム」で、同じフォームIDに関連づけられている全てのエンドポイントのキャッシュが削除されます。
フォーム回答CSVアップロードフォームID単位。
モデルカテゴリーが「フォーム」で、同じフォームIDに関連づけられている全てのエンドポイントのキャッシュが削除されます。
メンバー編集メンバーを追加モデルカテゴリー単位。
モデルカテゴリー「メンバー」および「認証」に関連づけられている全てのエンドポイントのキャッシュが削除されます。
メンバーを更新モデルカテゴリー単位。
モデルカテゴリー「メンバー」および「認証」に関連づけられている全てのエンドポイントのキャッシュが削除されます。
マスタ編集マスタを更新マスタID単位。
同じマスタIDに関連づけられている全てのエンドポイントのキャッシュが削除されます。
マスタを削除マスタID単位。
同じマスタIDに関連づけられている全てのエンドポイントのキャッシュが削除されます。
ファイルマネージャー編集ファイル・フォルダに対する何らかの操作フォルダ単位。
同じフォルダ内に関連するキャッシュが削除されます。
タグ編集タグを削除モデルカテゴリー単位。
モデルカテゴリー「タグ」に関連づけられている全てのエンドポイントのキャッシュが削除されます。
並び順を更新するモデルカテゴリー単位。
モデルカテゴリー「タグ」に関連づけられている全てのエンドポイントのキャッシュが削除されます。
タグを新規作成モデルカテゴリー単位。
モデルカテゴリー「タグ」に関連づけられている全てのエンドポイントのキャッシュが削除されます。
タグを更新モデルカテゴリー単位。
モデルカテゴリー「タグ」に関連づけられている全てのエンドポイントのキャッシュが削除されます。

APIからの操作

APIキャッシュは、管理画面の操作だけではなく、更新系APIがリクエストされた時にもクリアされることがあります。
API経由での操作と、クリアされるキャッシュの範囲は以下の通りです。

モデルオペレーションクリアされるキャッシュの単位
Topicsinsertコンテンツ定義グループID単位。
モデルカテゴリーが「コンテンツ」で、同じコンテンツ定義グループに関連づけられているエンドポイントのキャッシュが削除されます。
updateコンテンツ定義グループID単位。
モデルカテゴリーが「コンテンツ」で、同じコンテンツ定義グループに関連づけられているエンドポイントのキャッシュが削除されます。
deleteコンテンツ定義グループID単位。
モデルカテゴリーが「コンテンツ」で、同じコンテンツ定義グループに関連づけられているエンドポイントのキャッシュが削除されます。
acceptコンテンツ定義グループID単位。
モデルカテゴリーが「コンテンツ」で、同じコンテンツ定義グループに関連づけられているエンドポイントのキャッシュが削除されます。
bulk_upseコンテンツ定義グループID単位。
モデルカテゴリーが「コンテンツ」で、同じコンテンツ定義グループに関連づけられているエンドポイントのキャッシュが削除されます。
incrementコンテンツ定義グループID単位。
モデルカテゴリーが「コンテンツ」で、同じコンテンツ定義グループに関連づけられているエンドポイントのキャッシュが削除されます。
InquiryForminsertフォームID単位。
モデルカテゴリーが「フォーム」で、同じフォームIDに関連づけられている全てのエンドポイントのキャッシュが削除されます。
deleteフォームID単位。
モデルカテゴリーが「フォーム」で、同じフォームIDに関連づけられている全てのエンドポイントのキャッシュが削除されます。
updateフォームID単位。
モデルカテゴリーが「フォーム」で、同じフォームIDに関連づけられている全てのエンドポイントのキャッシュが削除されます。
Commentinsertモデルカテゴリー「アクティビティ」に関連づけられている全てのエンドポイントのキャッシュが削除されます。
また、アクティビティがコンテンツに紐づけられている場合は、そのコンテンツ定義グループに関連づけられているエンドポイントのキャッシュも削除されます。
アクティビティがコンテンツ以外のモデルに紐づけられている場合は、そのモデルに関連づけられているエンドポイントのキャッシュが削除されます。
updateモデルカテゴリー「アクティビティ」に関連づけられている全てのエンドポイントのキャッシュが削除されます。
また、アクティビティがコンテンツに紐づけられている場合は、そのコンテンツ定義グループに関連づけられているエンドポイントのキャッシュも削除されます。
アクティビティがコンテンツ以外のモデルに紐づけられている場合は、そのモデルに関連づけられているエンドポイントのキャッシュが削除されます。
deleteモデルカテゴリー「アクティビティ」に関連づけられている全てのエンドポイントのキャッシュが削除されます。
また、アクティビティがコンテンツに紐づけられている場合は、そのコンテンツ定義グループに関連づけられているエンドポイントのキャッシュも削除されます。
アクティビティがコンテンツ以外のモデルに紐づけられている場合は、そのモデルに関連づけられているエンドポイントのキャッシュが削除されます。
Memberinsertモデルカテゴリー単位。
モデルカテゴリー「メンバー」および「認証」に関連づけられている全てのエンドポイントのキャッシュが削除されます。
updateモデルカテゴリー単位。
モデルカテゴリー「メンバー」および「認証」に関連づけられている全てのエンドポイントのキャッシュが削除されます。
MasterupdateマスタID単位。
同じマスタIDに関連づけられている全てのエンドポイントのキャッシュが削除されます。
deleteマスタID単位。
同じマスタIDに関連づけられている全てのエンドポイントのキャッシュが削除されます。
Favoriteinsertモデルカテゴリー単位
お気に入りの対象となるモデルカテゴリーに関連づけられている全てのエンドポイントのキャッシュが削除されます。
また、お気に入り追加/削除を実施したコンテンツのコンテンツ定義が指定されたTopics::listのエンドポイントもキャッシュが削除されます。
deleteモデルカテゴリー単位
お気に入りの対象となるモデルカテゴリーに関連づけられている全てのエンドポイントのキャッシュが削除されます。
また、お気に入り追加/削除を実施したコンテンツのコンテンツ定義が指定されたTopics::listのエンドポイントもキャッシュが削除されます。
Tagdeleteモデルカテゴリー単位。
モデルカテゴリー「タグ」に関連づけられている全てのエンドポイントのキャッシュが削除されます。
insertモデルカテゴリー単位。
モデルカテゴリー「タグ」に関連づけられている全てのエンドポイントのキャッシュが削除されます。
Approvalflowreview各コンテンツの承認/却下時のキャッシュ削除ロジックに従います。

手動でのキャッシュクリア

上記以外の動作では自動でのキャッシュクリアは行われません。
すぐにキャッシュをクリアしたい場合はエンドポイント一覧のページで、[キャッシュクリアする]のボタンをクリックし、手動でのキャッシュクリアをしてください。

キャッシュクリアの確認

アプリケーションログのメッセージ[1]purgeAPIと残されているログがキャッシュクリアのログになるので、こちらでキャッシュのクリアをしているかをご確認ください。
メッセージ[3]topics:1が残っている場合、コンテンツ定義:1のAPIのキャッシュをクリアしていることを意味します。

Image from Gyazo

関連項目

APIのキャッシュについて


サポート

お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。