I am really very confused about Memcached, Redis and Varnish. I know they are used for caching, but I don't know how much they help, and how you know which one to use.
And lastly, I would like know what you would use for a site with user-uploaded pictures and videos? If it helps I am using the Django framework.