Redis *and* memcached dependency?

I’m going over the dependencies of Frappe as part of my evaluation as listed at (https://github.com/frappe/bench), and I’m wondering why there is a dependency for two separate caching systems for bench? Is this accurate? Can someone explain the need for this?

Initially redis was not in the picture.

Memcached is used for caching.

Later we implemented scheduled tasks using celery and redis instead of cron based one.

Hence memcached and redis are both required as of now.

Also memcached is good for cache (LRU).
Redis is good for its data structures and celery supports it.