add lru cache in concurrent access