Extension method to get results of type T from a cache
Logically, it makes sense to me that you would want to tie a key to a Func.  This method could then just take the string and then delegate the responsibility to decide how to fetch the value to another class.  Also, a few nitpicky points about what is actually there.  I consider using letters as variables poor practice since it gives no context as to how it will be used.  I would rename "f" to something like "retrieve" or "fetch".  Also, there is no guarantee that running "f" will actually give you a non null value.  In that case, I doubt you would want to store null in your cache.