Changeset 111820 in spip-zone


Ignore:
Timestamp:
Oct 1, 2018, 4:55:37 PM (14 months ago)
Author:
jluc@…
Message:

on vérifie que memoization par apc est actif + on allège les listes de stats

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/cachelab/trunk/inc/cachelab.php

    r111815 r111820  
    6868//      OU une regexp (hors délimiteurs et modificateurs) si la méthode est 'regexp'
    6969function cachelab_filtre ($action, $conditions, $options=array()) {
     70global $Memoization;
     71        if (!$Memoization or !in_array($Memoization->methode(), array('apc', 'apcu')))
     72                die ("Il faut mémoization avec APC ou APCu");
     73
    7074        $chemin = (isset($conditions['chemin']) ? $conditions['chemin'] : null);
    7175        $cle_objet = (isset($conditions['cle_objet']) ? $conditions['cle_objet'] : null);
     
    8286        $len_prefix = strlen(_CACHE_NAMESPACE);
    8387
    84         $matche_chemin = $cible = $no_data = $data_not_array = array();
    85         $nb_matche_chemin=$nb_caches=$nb_chemin=$nb_no_data=$nb_data_access=$nb_data_not_array=$nb_cible=0;
     88        $matche_chemin = $no_data = $data_not_array = $cible = array();
     89        $nb_caches=$nb_matche_chemin=$nb_no_data=$nb_data_not_array=$nb_cible=0;
    8690
    8791        $chemins = explode('|', $chemin);
     
    109113                                        if ($chemin and ($danslechemin = preg_match(",$chemin,i", $cle))) {
    110114                                                if ($avec_listes)
    111                                                         $matche_chemin[] = $d;
     115                                                        $matche_chemin[] = $cle;
    112116                                                cachelab_applique ($action, $cle, null, $options);
    113117                                        }
     
    119123                                        $nb_matche_chemin++;
    120124                                        if ($avec_listes)
    121                                                 $matche_chemin[]=$d;
     125                                                $matche_chemin[]=$cle;
    122126                                };
    123127                        }
     
    128132                                global $Memoization;
    129133                                if ($data = $Memoization->get(substr($cle, $len_prefix))) {
    130                                         $nb_data_access++;
    131134                                        if (is_array($data)) {
    132135                                                if (isset($data['contexte'])
     
    136139                                                        $nb_cible++;
    137140                                                        if ($avec_listes)
    138                                                                 $cible[] = $d;
     141                                                                $cible[] = $cle;
    139142                                                        cachelab_applique ($action, $cle, $data, $options);
    140143                                                }
     
    145148                                                if ($avec_listes)
    146149                                                        $data_not_array[]=$cle.($data ? ' not array' : ' empty');
    147                                                 echo "erreur acces clé $cle ".print_r($data,1)."<br><br>";
    148150                                                $nb_data_not_array++;
    149151                                        };
     
    163165                'matche_chemin'=>$nb_matche_chemin,
    164166                'no_data' => $nb_no_data,       // yen a plein (ça correspond à quoi ?)
    165                 'data_access' => $nb_data_access,
    166167                'data_not_array' => $nb_data_not_array, // normalement yen a pas
    167168                'cible'=>$nb_cible
Note: See TracChangeset for help on using the changeset viewer.