What are some best practices for handling server-side caching when making PHP requests to external URLs?

When making PHP requests to external URLs, it is important to implement server-side caching to improve performance and reduce the load on the external server. One common approach is to cache the response data for a certain period of time and serve it from the cache instead of making repeated requests to the external URL. This can be achieved using PHP caching libraries like Memcached or Redis.

// Example of implementing server-side caching using Memcached

$memcached = new Memcached();
$memcached->addServer('localhost', 11211);

$key = 'external_url_response';
$cache_time = 3600; // Cache data for 1 hour

if ($cached_data = $memcached->get($key)) {
    // Serve cached data
    echo $cached_data;
} else {
    // Make request to external URL
    $response = file_get_contents('http://external-url.com/data');
    
    // Cache response data
    $memcached->set($key, $response, $cache_time);
    
    // Serve response data
    echo $response;
}