Merhaba,
Şu memcache konusunu kurcalamaya başladım ama çok da yeterli bir şeyler bulamadım.
Sunucumda memcache var, aktif ettim 256mb da ram verdim (ki artrırabilirim ramlerim müsait vps kullanıyorum).
şimdi ben bunu yaptıktan sonra bu program çalışmaya başlıyor mu yoksa sitelerim için extra birşeyler yapmam mı gerekiyor. mesela opencart kurulu sitem memcache den şu an yararlanıyor mu yoksa yararlandırmak için başka bir yola mı başvurmalı?
memcache
3
●680
- 22-03-2014, 18:57:48Kimlik doğrulama veya yönetimden onay bekliyor.
- 22-03-2014, 19:14:50Opencartı bilmiyorum fakat, opencartta memcache özelliği varsa çalışır yoksa memcache kurduğunuzda siteyi hızlandıran bir özellik değildir.oguzhan306 adlı üyeden alıntı: mesajı görüntüle
- 22-03-2014, 19:40:40Kimlik doğrulama veya yönetimden onay bekliyor.@oguzhan306; sadece kurmak yeterli değil, eklenti vb. şeylerle bunu kullandığın yazılıma tanıtman gerekiyor. Bu bağlantı işine yarayabilir.
- 23-03-2014, 11:52:29Sorun çözüldü işe yarasın diye paylaşıyorum,
Dediğiniz gibi memcache sadece çalışıyor ama bunun ister opencart ister başka birşey olsun bir şekilde tetiklenmesi gerekiyor.
Sunucu üzerinden memcache aktif edildiyse php.ini dosyası otomatik güncelleniyor ama özel (her domain için başka bir ini dosyası) php.ini dosyası kullanıyorsanız bunu update etmeniz gerekiyor.
Benimki aşağıdaki şekilde modifiye edildi, tabi bu muhtemelen sunucudan sunucuya değişecek bir konudur.
extension_dir = /usr/local/php5.3/lib//extensions/no-debug-non-zts-20090626/ extension = memcache.so extension = memcached.so
ikinci olarak da bunun tetiklenmesi gerekiyor. aşağıda verdiğim kodlar en azından sunucunuzda aktif ettiğiniz memcache çalışıyor mu çalışmıyor mu yu test etmek için yeterli.
<?php $m = new Memcache(); $m->addServer('unix:///home/sys/memcached.sock', 0); // DEĞİŞKEN if ($cnt = $m->get('key')) $cnt++; else $cnt = 1; $m->set('key', $cnt); echo "Counter: $cnt"; ?>Değişken olarak verdiğim satır yine sunucudan sunucuya değişiyor. kimisinde ip adresi, port kimisinde domain çeşit çeşit seç beğen al.
eğer sayacınızda bir artma varsa memcache çalışıyor demektir.
Bunu opencart'a uyarlamak içinse
system/library klasörü içersindeki cache.php dosyasını aşağıdaki şekilde güncellemek gerekiyor.
<?php class Cache { public function __construct() { if(class_exists('Memcache')) { $this->memcache = new Memcache; } elseif(class_exists('Memcached')) { $this->memcache = new Memcached; } $this->memcache->addServer('unix:///home/sys/memcached.sock', 0); //$this->memcache->addServer('localhost', '11211'); $this->site_key = substr(md5(HTTP_SERVER),0,5); } public function get($key) { $cache = $this->memcache->get($key.'.'.$this->site_key); return unserialize($cache); } public function set($key, $value) { $result = $this->memcache->replace($key.'.'.$this->site_key, serialize($value)); if($result == false) { $this->memcache->set($key.'.'.$this->site_key, serialize($value)); } } public function delete($key) { //keep $key for legacy purposes $this->memcache->flush(); } } ?>//$this satırında ip örneği var, sunucunuca göre o iki satırdan birini kullanmak lazım.
tabi bu işlemleri yaparken tam bir yedek alın ben yaptım oldu ama sorumluluk kabul etmem