PHP 5 farklı önbelleğe sınıflar (memcache, apc, oturumda, dosya, çerez) gibi bir singleton yöntem oluşturmak eğer
Sonra (password benim set javascipt bir ana önbellek sınıf var) ve uygun önbelleğe alma sınıfa () yöntemleri olsun. Şimdi tüm aynı sayfada oturumu, çerez, memcache ve dosya önbelleği kullanmak gerekir Diyelim ki. Benim ana önbellek sınıfı sonra singleton'ununu kullanarak bu önbellek türlerinin her biri için yeni bir örneği 1 defa oluşturmanız gerekir.
SO Sonra, bir sayfa benim tekiz yöntemleri defalarca aramak için ben 1 sayfada önbelleğe 30 farklı çağrıları almak / ayarlamak için olsaydı, o birçok kez tekiz yöntemini çağırır gerekir.
Bir sayfada ve üzerinde benim singleton'ununu arama tutmak için çok iyi kötü bir uygulama olup olmadığını merak ediyorum?
UPDATE
Aşağıda Ben size ben bir sayfada 40 kez MEMCACHE şey eklemek olsaydı, bu ym memcache sınıf için tekiz yöntemini çağırır ... yapmaya çalışıyorum ne daha iyi bir örnek alabilirsiniz başladı bazı kod 40 kez
/**
* Set a key/value to cache system.
*
* @param string type of cache to store with
* @param string|array keys, or array of values
* @param mixed value (if keys is not an array)
* @return void
*/
public function set($type, $keys, $value = FALSE, $options_arr)
{
if (empty($keys))
return FALSE;
if ( ! is_array($keys))
{
$keys = array($keys => $val);
}
// Pick our Cache system to use
switch ($type) {
case "memcache":
// Cache item to memcache
$this->memcache = Memcache::getInstance();
$this->memcache->get($keys, $value, $options);
break;
case "apc":
// Cache item to APC
$this->apc = APC::getInstance();
$this->apc->get($keys, $value, $options);
break;
case "session":
// Cache item to Sessions
foreach ($keys as $key => $val)
{
// Set the key
$_SESSION[$key] = $val;
}
break;
case "cookie":
// Cache item to Cookie
break;
case "file":
// Cache item to File
break;
}
}