title: How to implement cache system in php for json api
body: <p>I have a few custom social buttons on my website for whom I get the share number/followers number using json from API.
  I have tried to implement a cache system to reduce the load time and eliminate de risk of being 'red-flagged' for over-using the APIs. However, I had no success in this area, basically because I don't quite understand the integration steps.
  I hope someone could help me integrate a cache system.</p>
  
  <p>Here are the php codes for Twitter, Google Plus and Instagram:</p>
  
  <ul>
  <li>Twitter </li>
  </ul>
  
  <pre>
  
      ob_start();
      $twittershare = 'http://cdn.api.twitter.com/1/urls/count.json?url='.$product["href"] .'';
  
      $ch = curl_init();
      curl_setopt($ch, CURLOPT_URL, $twittershare);
      curl_setopt($ch, CURLOPT_HEADER, 0);
      $jsonstring = curl_exec($ch);
      curl_close($ch);
      $bufferstr = ob_get_contents();
      ob_end_clean();
      $json = json_decode($bufferstr);
  
      echo $json->count;
  
  </pre> 
  
  <ul>
  <li>Google Plus</li>
  </ul>
  
  <pre>
  
      $url = ''.$product["href"] .'';
  
      $ch = curl_init();
      curl_setopt($ch, CURLOPT_URL, "https://clients6.google.com/rpc?key=xxxxxxxxxx");
      curl_setopt($ch, CURLOPT_POST, 1);
      curl_setopt($ch, CURLOPT_POSTFIELDS, '[{"method":"pos.plusones.get","id":"p","params":{"nolog":true,"id":"' . $url . '","source":"widget","userId":"@viewer","groupId":"@self"},"jsonrpc":"2.0","key":"p","apiVersion":"v1"}]');
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
      curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json'));
      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
      $curl_results = curl_exec($ch);
      curl_close($ch);
      $json = json_decode($curl_results, true);
      $count = intval($json[0]['result']['metadata']['globalCounts']['count']);
      $data = array();
      $data['plus_count'] = (string) $count;
      $data['url'] = $url;
      echo $data['plus_count'];
  
  </pre>
  
  <ul>
  <li>Instagram (fetching followers number)</li>
  </ul>
  
  <pre>
  
      ob_start();
      $insta = 'https://api.instagram.com/v1/users/00000000?access_token={token}';
  
      $ch = curl_init();
      curl_setopt($ch, CURLOPT_URL, $insta);
      curl_setopt($ch, CURLOPT_HEADER, 0);
      $jsonstring = curl_exec($ch);
      curl_close($ch);
      $bufferstr = ob_get_contents();
      ob_end_clean();
      $json = json_decode($bufferstr);
  
      echo $json->data->counts->followed_by;
  
  </pre>
  
  <p>Hope you guys can guide me step by step as to how to implement a cache system for the code snippets above.</p>