package
0.5.36
Repository: https://github.com/devlights/try-golang.git
Documentation: pkg.go.dev

# README

これは何?

golang.org/x/sync/singleflight のサンプルです。

singleflightパッケージは、重複した関数呼び出しを抑制するためのメカニズムを提供します。

このパッケージは、特に高価な操作や重複する操作が同時に複数のゴルーチンから要求される場合に有効です。

singleflightパッケージは、golang.org/x/sync/singleflightライブラリに含まれており、主に以下の機能を提供します。

  • 重複呼び出しの抑制:同じキーに対する複数のリクエストが同時に発生した場合、最初のリクエストが完了するまで他のリクエストを待機させ、結果を共有します。
  • 効率の向上:重複した操作を防ぐことで、サービスやデータベースへの不要な負荷を軽減します。
  • シンプルなAPI:Group型を使用して、重複する操作を管理します。

Cache Stampedeなどが発生する可能性がある部分などで利用出来ます。

Group.Forget() が存在するのがちょっとした違い。

参考情報