<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mahir Yılmaz &#124; Kişisel Web Günlüğü Php Programmer &#187; php ile cache</title>
	<atom:link href="http://www.mahiryilmaz.com/tag/php-ile-cache/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mahiryilmaz.com</link>
	<description>İçimden geçenler...</description>
	<lastBuildDate>Fri, 13 Aug 2010 04:54:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Php ile cache</title>
		<link>http://www.mahiryilmaz.com/php-ile-cache/</link>
		<comments>http://www.mahiryilmaz.com/php-ile-cache/#comments</comments>
		<pubDate>Sun, 14 Sep 2008 04:07:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web Programlama]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[php ile cache]]></category>

		<guid isPermaLink="false">http://www.mahiryilmaz.com/?p=102</guid>
		<description><![CDATA[Bir siteniz var. Hitiniz çok yüksek. Sunucunuz iyi değil veya yetmiyor. O zaman imdadınıza cache yetişecektir.  Cache ile (adından da anlaşılacağı üzere) sisteminizde sayfaları önceden kaydedip, gelen ziyaretçilere kaydedilmiş sayfayı göstererek, mysql sorgu, cpu kullanımınızı azaltabilirsiniz. Bu işlem php ile sanıldığı kadar zor değildir. Bu işlemi kendi yöntemimle değil, internette okuduğum bir makelenin kodlarıyla sizlere [...]]]></description>
			<content:encoded><![CDATA[<p>Bir siteniz var. Hitiniz çok yüksek. Sunucunuz iyi değil veya yetmiyor. O zaman imdadınıza <strong>cache</strong> yetişecektir.  Cache ile (adından da anlaşılacağı üzere) sisteminizde sayfaları önceden kaydedip, gelen ziyaretçilere kaydedilmiş sayfayı göstererek, mysql sorgu, cpu kullanımınızı azaltabilirsiniz. Bu işlem php ile sanıldığı kadar zor değildir. Bu işlemi kendi yöntemimle değil, internette okuduğum bir makelenin kodlarıyla sizlere anlatmaya çalışacağım. (Benimki biraz karışık <img src='http://www.mahiryilmaz.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</p>
<div class="kod_icerik">
<ol>
<li><code><span style="color: #000000;"> <span style="color: #0000bb;"><span class="soft_yazi">&lt;? </span></span></span></code></li>
<li><code><span style="color: #000000;"><span style="color: #0000bb;"><span class="soft_yazi">$filename </span></span><span style="color: #007700;"><span class="soft_yazi">= </span></span><span style="color: #dd0000;"><span class="soft_yazi">"%%-"</span></span><span style="color: #007700;"><span class="soft_yazi">.</span></span><span style="color: #0000bb;"><span class="soft_yazi">md5</span></span><span style="color: #007700;"><span class="soft_yazi">(</span></span><span style="color: #0000bb;"><span class="soft_yazi">$_SERVER</span></span><span style="color: #007700;"><span class="soft_yazi">[</span></span><span style="color: #dd0000;"><span class="soft_yazi">'REQUEST_URI'</span></span><span style="color: #007700;"><span class="soft_yazi">]).</span></span><span style="color: #dd0000;"><span class="soft_yazi">"-%%.html"</span></span><span style="color: #007700;"><span class="soft_yazi">; </span></span></span></code></li>
<li><code><span style="color: #000000;"><span style="color: #0000bb;"><span class="soft_yazi">$cachefile </span></span><span style="color: #007700;"><span class="soft_yazi">= </span></span><span style="color: #dd0000;"><span class="soft_yazi">"cache/"</span></span><span style="color: #007700;"><span class="soft_yazi">.</span></span><span style="color: #0000bb;"><span class="soft_yazi">$filename</span></span><span style="color: #007700;"><span class="soft_yazi">; </span></span></span></code></li>
<li><code><span style="color: #000000;"><span style="color: #0000bb;"><span class="soft_yazi">$cachetime </span></span><span style="color: #007700;"><span class="soft_yazi">= </span></span><span style="color: #0000bb;"><span class="soft_yazi">3 </span></span><span style="color: #007700;"><span class="soft_yazi">* </span></span><span style="color: #0000bb;"><span class="soft_yazi">60 </span></span><span style="color: #007700;"><span class="soft_yazi">* </span></span><span style="color: #0000bb;"><span class="soft_yazi">60</span></span><span style="color: #007700;"><span class="soft_yazi">; </span></span><span style="color: #ff8000;"><span class="soft_yazi">// Cache Süresi </span></span></span></code></li>
<li><code><span style="color: #000000;"><span style="color: #007700;"><span class="soft_yazi">if (</span></span><span style="color: #0000bb;"><span class="soft_yazi">file_exists</span></span><span style="color: #007700;"><span class="soft_yazi">(</span></span><span style="color: #0000bb;"><span class="soft_yazi">$cachefile</span></span><span style="color: #007700;"><span class="soft_yazi">)) </span></span></span></code></li>
<li><code><span style="color: #000000;"><span style="color: #007700;"><span class="soft_yazi">{ </span></span></span></code></li>
<li><code><span style="color: #000000;"><span style="color: #007700;"><span class="soft_yazi">if(</span></span><span style="color: #0000bb;"><span class="soft_yazi">time</span></span><span style="color: #007700;"><span class="soft_yazi">() - </span></span><span style="color: #0000bb;"><span class="soft_yazi">$cachetime </span></span><span style="color: #007700;"><span class="soft_yazi">&lt; </span></span><span style="color: #0000bb;"><span class="soft_yazi">filemtime</span></span><span style="color: #007700;"><span class="soft_yazi">(</span></span><span style="color: #0000bb;"><span class="soft_yazi">$cachefile</span></span><span style="color: #007700;"><span class="soft_yazi">)) </span></span></span></code></li>
<li><code><span style="color: #000000;"><span style="color: #007700;"><span class="soft_yazi">{ </span></span></span></code></li>
<li><code><span style="color: #000000;"><span style="color: #0000bb;"><span class="soft_yazi">readfile</span></span><span style="color: #007700;"><span class="soft_yazi">(</span></span><span style="color: #0000bb;"><span class="soft_yazi">$cachefile</span></span><span style="color: #007700;"><span class="soft_yazi">); </span></span></span></code></li>
<li><code><span style="color: #000000;"><span style="color: #007700;"><span class="soft_yazi">exit; </span></span></span></code></li>
<li><code><span style="color: #000000;"><span style="color: #007700;"><span class="soft_yazi">} </span></span></span></code></li>
<li><code><span style="color: #000000;"><span style="color: #007700;"><span class="soft_yazi">else </span></span></span></code></li>
<li><code><span style="color: #000000;"><span style="color: #007700;"><span class="soft_yazi">{ </span></span></span></code></li>
<li><code><span style="color: #000000;"><span style="color: #0000bb;"><span class="soft_yazi">unlink</span></span><span style="color: #007700;"><span class="soft_yazi">(</span></span><span style="color: #0000bb;"><span class="soft_yazi">$cachefile</span></span><span style="color: #007700;"><span class="soft_yazi">); </span></span></span></code></li>
<li><code><span style="color: #000000;"><span style="color: #007700;"><span class="soft_yazi">} </span></span></span></code></li>
<li><code><span style="color: #000000;"><span style="color: #007700;"><span class="soft_yazi">} </span></span></span></code></li>
<li><code><span style="color: #000000;"><span style="color: #0000bb;"><span class="soft_yazi">ob_start</span></span><span style="color: #007700;"><span class="soft_yazi">(); </span></span></span></code></li>
<li><code><span style="color: #000000;"><span style="color: #0000bb;"><span class="soft_yazi">?&gt;</span></span></span></code></li>
</ol>
</div>
<p><span id="more-102"></span></p>
<div class="kod_icerik">Bu kodlarımızı sayfamızın başına ekliyoruz. İşin mantığına gelince; öncelikle bulunduğumuz sayfanın url&#8217;sini alıp bunu md5 fonksiyonu ile şifreliyoruz. Daha sonra dizinimizde bulunan cache klasöründe şifrelediğimiz dosyanın var olup olmadığına bakıyoruz. Eğer dosyamız var ise ve $cachetime değişkeni ile belirlediğimiz süreden önce oluşturmamış ise sayfaya o dosyayı çağırıyoruz ve exit yaparak diğer kodlarımızı çalıştırmıyoruz. Şayet dosya mevcut değil ya da daha belirlediğimiz zamandan önce oluşturulmuş ise sayfamızın en altına eklediğimiz aşağıdaki kodlar devreye girecek.</div>
<div class="kod_icerik">
<div class="kod_icerik">
<ol>
<li><code><span style="color: #000000;"> <span style="color: #0000bb;"><span class="soft_yazi">&lt;? </span></span></span></code></li>
<li><code><span style="color: #000000;"><span style="color: #0000bb;"><span class="soft_yazi">$fp </span></span><span style="color: #007700;"><span class="soft_yazi">= </span></span><span style="color: #0000bb;"><span class="soft_yazi">fopen</span></span><span style="color: #007700;"><span class="soft_yazi">(</span></span><span style="color: #0000bb;"><span class="soft_yazi">$cachefile</span></span><span style="color: #007700;"><span class="soft_yazi">, </span></span><span style="color: #dd0000;"><span class="soft_yazi">'w+'</span></span><span style="color: #007700;"><span class="soft_yazi">); </span></span></span></code></li>
<li><code><span style="color: #000000;"><span style="color: #0000bb;"><span class="soft_yazi">fwrite</span></span><span style="color: #007700;"><span class="soft_yazi">(</span></span><span style="color: #0000bb;"><span class="soft_yazi">$fp</span></span><span style="color: #007700;"><span class="soft_yazi">, </span></span><span style="color: #0000bb;"><span class="soft_yazi">ob_get_contents</span></span><span style="color: #007700;"><span class="soft_yazi">()); </span></span></span></code></li>
<li><code><span style="color: #000000;"><span style="color: #0000bb;"><span class="soft_yazi">fclose</span></span><span style="color: #007700;"><span class="soft_yazi">(</span></span><span style="color: #0000bb;"><span class="soft_yazi">$fp</span></span><span style="color: #007700;"><span class="soft_yazi">); </span></span></span></code></li>
<li><code><span style="color: #000000;"><span style="color: #0000bb;"><span class="soft_yazi">ob_end_flush</span></span><span style="color: #007700;"><span class="soft_yazi">(); </span></span></span></code></li>
<li><code><span style="color: #000000;"><span style="color: #0000bb;"><span class="soft_yazi">?&gt;</span></span></span></code></li>
</ol>
</div>
<div class="kod_icerik">Bu kodlarda ise şifrelediğimiz html dosyasını açıp o an sayfamızda ne var ise yazdırma işlemini yapıyoruz. Daha sonra döngü yine yukarda anlattığım gibi devam ediyor.</div>
</div>
<div class="kod_icerik">Sonuç olarak:</div>
<div class="kod_icerik">
<ul>
<li>Cpu kullanımını azalttık</li>
<li>Mysql sorgu sayımızı azaltık</li>
</ul>
<p>Yararlandığım kaynak :<a href="http://www.programlamadili.net/PHP/php-ile-cache-sistemi-449.html" target="_blank"> <strong>Burası</strong></a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.mahiryilmaz.com/php-ile-cache/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
