add caching layer to AWS S3 CRUD operations