EhCache 를 참고해서 재작성했습니다.