add lru-cache to BlockIOAPI