Can you explain how you are handling caching in your PHP code?

Caching in PHP can help improve performance by storing the results of expensive operations and serving them from memory instead of recalculating them each time. One common way to implement caching is by using a key-value store like Redis or Memcached to store the results of database queries or API calls.

// Example of caching database query results using Redis

// Connect to Redis
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);

// Key for the cached data
$key = 'cached_data';

// Check if data is already cached
$cached_data = $redis->get($key);

if (!$cached_data) {
    // If data is not cached, perform expensive operation
    $data = fetchDataFromDatabase();

    // Store the data in Redis with an expiration time
    $redis->set($key, json_encode($data));
    $redis->expire($key, 3600); // Cache for 1 hour
} else {
    // If data is cached, use it
    $data = json_decode($cached_data, true);
}

// Use the cached data
echo json_encode($data);