I have a page with several functions using the same custom field data.
Does ACF/WP cache the data on its own? Should I do my own caching? If I should do my own, do you have any recommended methods so I don’t have to reinvent the wheel?
WP automatically caches any data from meta fields that are retrieved from the DB. ACF also has it’s own mechanism for caching. Any call to get_field() or any other ACF function will only make one DB call no matter how many times the same field name is used.