GlisWeb framework
_memcache.tools.php
Vai alla documentazione di questo file.
1 <?php
2 
19  function memcacheUniqueKey( &$k ) {
20 
21  if( strpos( $k, MEMCACHE_UNIQUE_SEED ) === false ) {
23  }
24 
25  return $k;
26 
27  }
28 
34  function memcacheWrite( $conn, $key, $data, $ttl = MEMCACHE_DEFAULT_TTL, $seed = MEMCACHE_UNIQUE_SEED ) {
35 
36  memcacheUniqueKey( $key );
37 
38  if( empty( $conn ) ) {
39 
40  // TODO qui loggare
41 
42  return false;
43 
44  } else {
45 
46  $r = memcache_set( $conn, $key, $data, MEMCACHE_COMPRESSED, $ttl );
47 
48  if( $r == false ) {
49  logWrite( 'impossibile scrivere la chiave: ' . $key, 'memcache', LOG_ERR );
50  } else {
51  logWrite( 'scrittura effettuata, chiave: ' . $key, 'memcache', LOG_DEBUG );
52  }
53 
54  return $r;
55 
56  }
57 
58  }
59 
65  function memcacheRead( $conn, $key ) {
66 
67  // TODO questa logica complica il log della connessione vuota
68 
69  memcacheUniqueKey( $key );
70 
71  if( empty( $conn ) ) {
72 
73  // TODO qui loggare
74 
75  return false;
76 
77  } else {
78 
79  $r = memcache_get( $conn, $key );
80 
81  if( $r == false ) {
82  logWrite( 'impossibile leggere la chiave: ' . $key, 'memcache', LOG_DEBUG );
83  } else {
84  logWrite( 'lettura effettuata, chiave: ' . $key, 'memcache', LOG_DEBUG );
85  }
86 
87  return $r;
88 
89  }
90 
91  }
92 
98  function memcacheDelete( $conn, $key ) {
99 
100  memcacheUniqueKey( $key );
101 
102  return memcache_delete( $conn, $key );
103 
104  }
105 
113  function memcacheFlush( $conn ) {
114 
115  $t = memcache_flush( $conn );
116 
117  sleep( 2 );
118 
119  return $t;
120 
121  }
122 
123 ?>
$ttl
Definition: _osm.php:10
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
memcacheRead( $conn, $key)
memcacheUniqueKey(&$k)
$r
Definition: _osm.php:25
const MEMCACHE_UNIQUE_SEED
Definition: _040.cache.php:40
memcacheWrite( $conn, $key, $data, $ttl=MEMCACHE_DEFAULT_TTL, $seed=MEMCACHE_UNIQUE_SEED)
const MEMCACHE_DEFAULT_TTL
Definition: _045.cache.php:16
memcacheFlush( $conn)
TODO vanno bloccate le scritture per almeno un secondo dopo il flush, vedi http://php.net/manual/en/memcache.flush.php.
memcacheDelete( $conn, $key)