I would generally recommend an event-driven approach over direct API calls for distributed cache environments because it decouples systems, scales better under load, and provides more resilient cache synchronization.
For simpler integrations or cache invalidation use cases, REST APIs are often the most straightforward solution.