GlisWeb framework
_045.cache.php
Vai alla documentazione di questo file.
1 <?php
2 
15  // definizione delle costanti della libreria
16  define( 'MEMCACHE_DEFAULT_TTL' , $cf['memcache']['ttl'] );
17 
18  // link al profilo corrente
19  $cf['memcache']['profile'] = &$cf['memcache']['profiles'][ $cf['site']['status'] ];
20 
21  // creo le connessioni ai server attivi
22  if( function_exists( 'memcache_connect' ) ) {
23 
24  // ciclo sui server disponibili
25  if( isset( $cf['memcache']['profile']['servers'] ) && is_array( $cf['memcache']['profile']['servers'] ) ) {
26 
27  foreach( $cf['memcache']['profile']['servers'] as $server ) {
28 
29  // connessione
30  $cn = @memcache_connect(
31  $cf['memcache']['servers'][ $server ]['address'],
32  $cf['memcache']['servers'][ $server ]['port']
33  );
34 
35  // registro la connessione
36  if( ! empty( $cn ) ) {
37  $cf['memcache']['connections'][ $server ] = $cn;
38  $cf['memcache']['stats'][ $server ] = memcache_get_stats( $cn );
39  logWrite( 'connessione effettuata al server ' . $server, 'memcache', LOG_DEBUG );
40  } else {
41  logWrite( 'impossibile connettersi al server ' . $server, 'memcache', LOG_ERR );
42  }
43 
44  }
45 
46  // connessione di default
47  if( count( $cf['memcache']['connections'] ) ) {
48  $keys = array_keys( $cf['memcache']['connections'] );
49  $key = array_shift( $keys );
50  $cf['memcache']['connection'] = &$cf['memcache']['connections'][ $key ];
51  $cf['memcache']['server'] = &$cf['memcache']['servers'][ $key ];
52  $cf['memcache']['stat'] = &$cf['memcache']['stats'][ $key ];
53  $cf['memcache']['stat']['usage'] = writeByte( $cf['memcache']['stat']['bytes'] ) . ' su ' . writeByte( $cf['memcache']['stat']['limit_maxbytes'] );
54  $cf['memcache']['stat']['percent'] = sprintf( '%01.2f', $cf['memcache']['stat']['bytes'] * 100 / $cf['memcache']['stat']['limit_maxbytes'] ) . '%';
55  $cf['memcache']['stat']['hits'] = 'trovati ' . $cf['memcache']['stat']['get_hits'] . ' oggetti contro ' . $cf['memcache']['stat']['get_misses'] . ' non trovati';
56  if( isset( $cf['memcache']['stat']['get_hits'] ) && ! empty( $cf['memcache']['stat']['get_hits'] ) && isset( $cf['memcache']['stat']['get_misses'] ) ) {
57  $cf['memcache']['stat']['hitrate'] = sprintf( '%01.2f', $cf['memcache']['stat']['get_hits'] * 100 / ( $cf['memcache']['stat']['get_hits'] + $cf['memcache']['stat']['get_misses'] ) ) . '%';
58  }
59  $ct['memcache']['stat'] = &$cf['memcache']['stat'];
60  }
61 
62  } else {
63 
64  // log
65  logWrite( 'nessun profilo memcache impostato per il livello di funzionamento corrente', 'memcache', LOG_DEBUG );
66 
67  }
68 
69  } else {
70 
71  // log
72  logWrite( 'memcache non installato', 'memcache', LOG_DEBUG );
73 
74  }
75 
76  // link al profilo corrente
77  $cf['redis']['profile'] = &$cf['redis']['profiles'][ $cf['site']['status'] ];
78 
79  // creo le connessioni ai server attivi
80  if( true ) {
81 
82  // ciclo sui server disponibili
83  if( isset( $cf['redis']['profile']['servers'] ) && is_array( $cf['redis']['profile']['servers'] ) ) {
84 
85  foreach( $cf['redis']['profile']['servers'] as $server ) {
86 
87  // connessione
88  $cn = new Predis\Client([
89  'scheme' => 'tcp',
90  'host' => $cf['redis']['servers'][ $server ]['address'],
91  'port' => $cf['redis']['servers'][ $server ]['port']
92  ]);
93 
94  // registro la connessione
95  if( ! empty( $cn ) ) {
96  $cf['redis']['connections'][ $server ] = $cn;
97  logWrite( 'connessione effettuata al server ' . $server, 'redis', LOG_DEBUG );
98  } else {
99  logWrite( 'impossibile connettersi al server ' . $server, 'redis', LOG_ERR );
100  }
101 
102  }
103 
104  // connessione di default
105  if( count( $cf['redis']['connections'] ) ) {
106  $keys = array_keys( $cf['redis']['connections'] );
107  $key = array_shift( $keys );
108  $cf['redis']['connection'] = &$cf['redis']['connections'][ $key ];
109  $cf['redis']['server'] = &$cf['redis']['servers'][ $key ];
110  }
111 
112  } else {
113 
114  // log
115  logWrite( 'nessun profilo redis impostato per il livello di funzionamento corrente', 'redis', LOG_DEBUG );
116 
117  }
118 
119  } else {
120 
121  // log
122  logWrite( 'redis non installato', 'redis', LOG_DEBUG );
123 
124  }
125 
126  // debug
127  // print_r( $cf['memcache']['profile'] );
128  // print_r( $cf['memcache']['profiles'] );
129  // echo $cf['site']['status'] . PHP_EOL;
130 
131 ?>
writeByte( $filesize)
if(isset( $cx['contatti'])) if(isset( $cf['site']['contatti'])) $ct['contatti']
Definition: _035.common.php:24
logWrite( $m, $f='site', $l=LOG_NOTICE, $d=DIRECTORY_LOG, $t=CURRENT_LOG_LEVEL, $s=SITE_STATUS)
scrive un messaggio nei log del sito
Definition: _log.utils.php:48
$cf['memcache']['profile']
Definition: _045.cache.php:19