Cache Penetration
Repeated lookups for keys that do not exist, which miss the cache every time by definition and pass straight through to the store.
Caching stores answers. A key with no answer is never cached, so every request for it is a miss and a full trip to the database — which makes it both a performance problem and, when the keys are attacker-chosen, a denial-of-service vector.
Two fixes. Cache the negative result with a short TTL, so the second request for a missing key is served from cache. Short, because the key may legitimately come into existence. A Bloom filter in front, which answers "definitely not present" with certainty for a few bits per key and never sends a lookup for something that cannot exist.
Distinguish it from a stampede, which is many requests for one key that does exist, and from cache breakdown, which is a single very hot key expiring. The three sound similar, have different causes, and need different fixes — which is why naming them separately is worth doing.