> tag_inputtext > tag_copixtips > projectincphp > tag_copixlogo > CopixTimer > tag_copixzone > documentation > CopixCache
fr

Rôle

CopixCache est la classe de base de Copix qui vous permet de sauvegarder des informations afin de les ressortir en un temps éclair lorsque vous en aurez de nouveau besoin.

Il est possible de paramétrer plusieurs caches avec plusieurs stratégies de sauvegardes.

CopixCache peut en standard fonctionner avec APC, le système de fichier, ou simplement se comporter comme une variable globale à la page.

Pour chaque cache, il est possible de déterminer des durées de vie ainsi que des sous type.

Utilisation

Ecrire dans le cache


CopixCache::write ($id, $content, $type);
 

Exemples


//Sauvegarde du résultat d'une requête
CopixCache::write ($filtre, _dao ('ma_table')->findBy ($filtre));

//Sauvegarde du contenu d'une page web distante
CopixCache::write ('http://www.copix.org', file_get_contents ('http://www.copix.org'));

//Sauvegarde d'une donnée dans le cache de type "data" (qui devra être configuré)
CopixCache::write ('data_1', $monObjet->get ('data_1'), 'data');
 

Tester l'existence d'un élément dans le cache


CopixCache::exists ($id, $type);
 

La méthode retourne true ou false.

Exemple


if (!CopixCache::exists ($filtre)){
   //traitement
}
 

Lire depuis le cache


$my_content = CopixCache::read ($id, $type);
 

Effacer les éléments d'un cache


CopixCache::clear ($id, $type)
 

Configuration

Pour configurer les types de cache, il suffit d'utiliser l'interface de configuration du module admin nommée "administration des types de cache".

Les stratégies de Cache

CopixCache peut utiliser plusieurs types de stratégies pour écrire/lire dans le cache. En général, une stratégie est un moyen / lieu ou sauvegarder les éléments.

Les stratégies standard

APC

La stratégie APC utilise l'extension PHP (PECL) APC.

Concrètement, elle utilise les méthodes apc_store et apc_fetch pour écrire / lire depuis le cache. C'est une méthode particulièrement efficace si vous utilisez cette extension sur votre serveur.

Nous recommandons l'utilisation de cette stratégie pour des données volatiles et peu volumineuses.

File

La stratégie File utilise le système de fichier pour sauvegarder les données dans le cache.

Les fichiers seront sauvegardés dans le répertoire désigné par COPIX_CACHE_PATH soit en standard temp/cache/*.

Il existera un répertoire par type de cache.

Nous recommandons l'utilisation de cette stratégie pour des données à longue persistance ou volumineuses.

System

La stratégie System utilise la mémoire du script pour sauvegarder ses données. Ainsi, toute information mise dans le cache avec la stratégie System est perdue à la fin du script.

Nous recommandons l'utilisation de cette stratégie pour des pré-calculs de données qui peuvent être utilisées au travers de plusieurs objets de façon asynchrones.

Creation d'une stratégie

Vous pouvez egalement créer des strategies de cache.

Pour cela, créez un module contenant une classe utilisant l'interface CopixCacheApi

Vous devrez ensuite des déclarer les 6 méthodes obligaroires (write, read, clear, exists, isEnabled et le constructeur __construct)

Votre strategie pourra être configurée dans un de vos cache en mettant la strategie sous la forme 'module|classeAdaptator'

Voir aussi