エブリサイトのkintone接続および、それを用いたやること「クエリで条件を指定して kintone からレコードを取得する」では、キャッシュ機能を有効にする事で、1度取得した情報については2度目以降のアクセスはキャッシュからデータを取得し、API利用数を抑える事ができるようになっています。
図としては次のようなイメージです。
キャッシュ機能を使うために押さえておくべき仕様
レコードを取得する際に、キャッシュ機能が使われる為には、次の全ての条件を満たす必要があります。
同一のサイトからのレコード取得であること
やること「クエリで条件を指定して kintone からレコードを取得する」を実行した結果としてkintoneに問い合わせるクエリが、同一のクエリとなること
参考:やること「クエリで条件を指定して kintone からレコードを取得する」「やること」のパラメータ「キャッシュが無効になる日時」が空でないこと
同一のクエリでレコードを複数回取得した際、最初にレコードを最初に取得したあと、2回目以降の取得の際にパラメータ「キャッシュが無効になる日時」で設定した日時を経過していないこと
それぞれの条件について、詳細に説明します。
同一のサイトからのレコード取得であること
これは同一のサイトからのレコード取得であれば、仮に取得元のページが同一のページでなくともキャッシュが有効になり、API利用数を抑える事ができるようになっています。
やること「クエリで条件を指定して kintone からレコードを取得する」を実行した結果としてkintoneに問い合わせるクエリが、同一のクエリとなること
kintoneに問い合わせるクエリが完全に同一である時のみ、キャッシュが有効となりキャッシュから情報が取得されます。
参考:やること「クエリで条件を指定して kintone からレコードを取得する」
接続設定の接続可否が「認証が必要/ユーザー指定あり」にした場合、常に「認証時に実行するクエリ」が付与されます。この「認証時に実行するクエリ」に {{email}} を含めておくことで、常にユーザーごとのクエリが発行されますので、結果もユーザーごとにキャッシュされます。
キャッシュ機能を利用し、個人情報やそれに類する情報(他のユーザーには見えてはいけないユーザー固有の情報)をキャッシュしたい場合には、必ずこの「認証が必要/ユーザー指定あり」の設定を使用してください。
「やること」のパラメータ「キャッシュが無効になる日時」が空でないこと
パラメータ「キャッシュが無効になる日時」が空の場合は、キャッシュ機能が有効になりません。
参考:やること「クエリで条件を指定して kintone からレコードを取得する」
同一のクエリでレコードを複数回取得した際、最初にレコードを最初に取得したあと、2回目以降の取得の際にパラメータ「キャッシュが無効になる日時」で設定した日時を経過していないこと
仮にパラメータ「キャッシュが無効になる日時」で設定した期間を超えて、キャッシュされているクエリと同一のクエリを問い合わせたとしても、その場合はkintoneに改めて問い合わせた結果でレコードを取得します。
キャッシュ機能を使わず、改めてkintoneからの取得を行いたい場合
逆に、上記のキャッシュ機能が有効となる設定をおこなっており、普段はキャッシュから情報取得できる場合は情報を取得しているが、何らかの理由でキャッシュからの取得を行いたくない(キャッシュを使わずに最新の情報を取得したい)場合は、やること「kintone レコードのキャッシュを削除する」を使って頂くと、キャッシュの内容を削除でき、その後に実行したクエリについてはkintoneからの最新の情報を取得できます。
おわりに
このページではエブリサイトのキャッシュ機能についてご説明しました。
エブリサイトのドキュメントページやサポートページもぜひご活用ください。
