add simple lock lru_cache