added caching to post model and controller