Fixed TTLs (time to live) can lead to thundering herd problems, since groups of application servers are often restarted simultaneously.
We saw this recently with SyntaxHighlight's Pygmentize::getVersion(), which determines the version of Pygments by shelling out to Python via Shellbox (~200ms) and caches the result in APC with a one-hour TTL, resulting in regular stampedes on Shellbox whenever the key expired for a group of app servers.
Rather than repeatedly rediscover this problem, we can make BagOStuff subtract some slight, random amount of time from TTLs by default. Adding jitter may be unsafe because users of the interface may be relying on cached values never being older than the TTL, but subtraction should be fine, since users already have to contend with the possibility of values falling out of the cache before their expiration due to the cache layer's replacement policy.