Loading...
Dacă eşti vizitator şi vrei să te înregistrezi, apasă aici.

Cache simplu bazat pe json

Aici vorbim despre CSS, PHP, C++, MySql, Javascript, Java & jQuery.
Avatar utilizator
andrei
Membru
Mesaje: 5
Membru din: 04 Ian 2015, 15:48
Țara de origine: Romania
Nume Real: Andrei
Status: Neconectat

Cache simplu bazat pe json

Mesajde andrei » 11 Ian 2015, 08:31

Cod: Selectaţi tot

<?php
/**
 * @Package: Micul-Programator.ro simple cache
 * @Author: Marian
 * @$Date: 06/14/2014
 * @Contact: contact@micul-programator.ro
 * @$Rev: 1
 */
class mpCache {
    /**
    * Directorul unde vor fi stocate fisierele de cache
    */
   private static $_dir = "cacheFiles/";
    /**
    * Scrie un fisier .json in care vor fi stocate datele
    * @param  string $identificator -> identifica in mod unic un fisier de cache
    * @param  array $data -> array-ul cu datele primite de la baza de date
    * @return void
    */
   public static function  writeCache($identificator = null , $data = array()) {
      if ( !$identificator || !count($data) ) { return false; }
      file_put_contents(trim(mpCache::$_dir.$identificator).".json",json_encode($data),LOCK_EX);
   }
   /**
   * Citeste un fisier .json si returneaza continutul acestuia
   * @param string $identificator -> identifica in mod unic un fisier de cache
   * @return array $data -> continutul fisierului de cache este returnat ca array
   */
   public static function readCache($identificator = null) {
      if ( $identificator == null ) { return array(); }
      $file = trim(mpCache::$_dir.$identificator).".json";
      
      if (!file_exists($file)) {
         return array();
      }
      $data =  file_get_contents(trim(mpCache::$_dir.$identificator).".json");
      return json_decode($data,true);
   }
    /**
   * Sterge un fisier cache
   * @param string $identificator -> identifica in mod unic un fisier de cache
   * @return boolean
   */
   public static function deleteCache($identificator = null) {
      $file = trim(mpCache::$_dir.$identificator).".json";
      
      if (!file_exists($file)) {
         return true;
      }
      if (unlink($file)) {
         return true;
      }
      return false;
   }
}
?>


Exemplu

Cod: Selectaţi tot

<?php
include_once('cache.php');
$dbData = array(
   'id' => 1234,
   'name' => 'Categorie pentru incepatori',
   'description' => 'Aceasta este o categorie pentru incepatori, dar poate participa oricine',
   'status' => 1,
);
//Citeste un fisier cache
$data = mpCache::readCache('cacheFile-'.$dbData['id']);
if (!count($data)) {
   print 'Se scrie in cache';
   //Scrie un fisier cache
   mpCache::writeCache('cacheFile-'.$dbData['id'],$dbData);
} else {
   print "Se citeste din cache <br />";
   print_r($data);
}
//sterge un fisier cache
//mpCache::deleteCache('cacheFile-'.$dbData['id']);
?>


Sursa: Cache simplu bazat pe json

Înapoi la “CSS, PHP, C++, MySql, Javascript, Java & jQuery”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 1 vizitator