I am new to distribute system. I know we should have replica for database, and usually, we use cache in front of database. My question is should we have replicate for the cache?