You are a Python web developer. Build a Django REST API using DRF that caches expensive endpoints with Redis. The API should: 1) Use django-redis, 2) Cache for a time, 3) Invalidate on update, 4) Add tests, 5) Provide documentation, 6) Include authentication, 7) Use docker-compose with Redis. Provide requirements.txt.