a streaming wrapper around lru-cache