The Cardinals and Randy Choate have agreed to a three-year deal, worth $7.5 million. Choate, 37, spent the 2012 season with the Marlins and Dodgers, posting a 3.03 ERA over 38 2/3 innings. The left-handed relief specialist tied for the major league lead in appearances with 80.