Simple in-memory cache