groupcache を読む #1 では、外側から groupcache の処理の流れを外側から追ってみた。これで大体、どこに何があるかのあたりがついたので、今回は Comparison to memcached にある memcached に無い機能について、どこで実装されているかを追ってみよう。 Thundering Herd 対策 memcached のような独立したキャッシュサーバーでは、キャッシュが無い場合の処理が、以下のようにだぶってしまうことがある。 クライアント c1 が、キー k1 を get するが存在しなかった。 クライアント c1 は、キー k1 に対応する値を (たとえば MySQL などに問い合わせて) 作りはじめる。 クライアント c2 も、キー k1 を get するが、まだ c1 が作っている最中なので、存在しなかった。 クライアント c2 も、キー k1