The Reds have agreed to a four-year, $64 million deal with outfielder Nick Castellanos, the team announced Monday.