partialCached
呼び出しごとに再レンダリングする必要のないパーシャルのキャッシュを可能にします。
partialCached
テンプレート関数は、呼び出しのたびに再レンダリングする必要のない複雑なテンプレートのパフォーマンスを大幅に向上させることができます。
注意: 各サイト (または言語) は独自の partialCached
キャッシュがあるので、各サイトは一度だけパーシャルを実行することになります。
Note: Hugo はページを並列にレンダリングし、partialCached
関数を同時に呼び出すことで、パーシャルを複数回レンダリングします。Hugo がレンダリングしたパーシャルをキャッシュした後、ビルドパイプラインに入る新しいページはキャッシュされた結果を使用します。
最も簡単な使い方は、以下のとおりです。
{{ partialCached "footer.html" . }}
追加のパラメータを partialCached
に渡して、キャッシュされたパーシャルの バリアント を作成することもできます。 たとえば、同じセクション内のページに対してレンダリングされたときに同一である必要がある複雑なパーシャルがある場合、セクションに基づくバリアントを使用して、パーシャルがセクションごとに 1 回だけレンダリングされるようにすることができます。
{{ partialCached "footer.html" . .Section }}
一意のバリアントを作成するために追加のパラメータを渡す必要がある場合は、必要な数のバリアント パラメータを渡すことができます。
{{ partialCached "footer.html" . .Params.country .Params.province }}
バリアント パラメータは基本的なパーシャルでは利用できないことに注意してください。 これらは、一意なキャッシュキーを作成するためだけに使われます。 Hugo 0.61.0
以降では、文字列だけでなく、任意のオブジェクトをキャッシュキーとして使用できます。
“The Full Partial Series Part 1: Caching!” も参照してください。