<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.2.1" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: Aggressive Caching With Memcached</title>
	<link>http://blog.charcoalphile.com/2008/08/17/aggressive-caching-with-memcached/</link>
	<description>On Databases, Recovery, Tech</description>
	<pubDate>Mon, 06 Sep 2010 10:04:38 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.1</generator>

	<item>
		<title>By: mrkris</title>
		<link>http://blog.charcoalphile.com/2008/08/17/aggressive-caching-with-memcached/#comment-2052</link>
		<author>mrkris</author>
		<pubDate>Sun, 07 Dec 2008 18:12:54 +0000</pubDate>
		<guid>http://blog.charcoalphile.com/2008/08/17/aggressive-caching-with-memcached/#comment-2052</guid>
		<description>@admin Yeah, there are many methods of caching. DB query, action caching, page caching, fragment caching. Heck, you could make page caching (full) dynamic by using js.

Many methods to choose from :)</description>
		<content:encoded><![CDATA[<p>@admin Yeah, there are many methods of caching. DB query, action caching, page caching, fragment caching. Heck, you could make page caching (full) dynamic by using js.</p>
<p>Many methods to choose from <img src='http://blog.charcoalphile.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: admin</title>
		<link>http://blog.charcoalphile.com/2008/08/17/aggressive-caching-with-memcached/#comment-1953</link>
		<author>admin</author>
		<pubDate>Thu, 27 Nov 2008 18:15:19 +0000</pubDate>
		<guid>http://blog.charcoalphile.com/2008/08/17/aggressive-caching-with-memcached/#comment-1953</guid>
		<description>@mrkris

You certainly can get better performance that way. With this method, you pretty much max out at 1000-1500 requests/second. Your method would probably add an extra 500-1500 requests/second on top of that.

There are cases where your method wouldn't work, though. For instance, if you're aggressively caching for users who aren't logged in, but only caching database objects for users who are logged in.

They all have their own advantages and disadvantages.</description>
		<content:encoded><![CDATA[<p>@mrkris</p>
<p>You certainly can get better performance that way. With this method, you pretty much max out at 1000-1500 requests/second. Your method would probably add an extra 500-1500 requests/second on top of that.</p>
<p>There are cases where your method wouldn&#8217;t work, though. For instance, if you&#8217;re aggressively caching for users who aren&#8217;t logged in, but only caching database objects for users who are logged in.</p>
<p>They all have their own advantages and disadvantages.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mrkris</title>
		<link>http://blog.charcoalphile.com/2008/08/17/aggressive-caching-with-memcached/#comment-1952</link>
		<author>mrkris</author>
		<pubDate>Thu, 27 Nov 2008 17:54:41 +0000</pubDate>
		<guid>http://blog.charcoalphile.com/2008/08/17/aggressive-caching-with-memcached/#comment-1952</guid>
		<description>Some would disagree, but my caching generates the full path to the requested file and caches that on the filesystem, that way once the page is cached, rewrite will force apache to hit that before hitting php -- serve your pages as fast as apache/etc can send it.</description>
		<content:encoded><![CDATA[<p>Some would disagree, but my caching generates the full path to the requested file and caches that on the filesystem, that way once the page is cached, rewrite will force apache to hit that before hitting php &#8212; serve your pages as fast as apache/etc can send it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Erik Ljungstrom</title>
		<link>http://blog.charcoalphile.com/2008/08/17/aggressive-caching-with-memcached/#comment-602</link>
		<author>Erik Ljungstrom</author>
		<pubDate>Sun, 24 Aug 2008 20:18:42 +0000</pubDate>
		<guid>http://blog.charcoalphile.com/2008/08/17/aggressive-caching-with-memcached/#comment-602</guid>
		<description>There are far more efficient techniques for output caching than hitting memcached (as efficient as it may be). Varnish is a good bet! But I also agree with Ian, object caching is often very beneficial and works just fine in combination.</description>
		<content:encoded><![CDATA[<p>There are far more efficient techniques for output caching than hitting memcached (as efficient as it may be). Varnish is a good bet! But I also agree with Ian, object caching is often very beneficial and works just fine in combination.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ian Eure</title>
		<link>http://blog.charcoalphile.com/2008/08/17/aggressive-caching-with-memcached/#comment-545</link>
		<author>Ian Eure</author>
		<pubDate>Sun, 17 Aug 2008 20:47:24 +0000</pubDate>
		<guid>http://blog.charcoalphile.com/2008/08/17/aggressive-caching-with-memcached/#comment-545</guid>
		<description>As you scale up, this approach doesn't work as well. You end up needing something like a NetScaler, which handles load-balancing and caching.

Depending on your traffic rates, you can enable output caching for anonymous users only and see significant benefits.

You will also see improvement if you cache your data, rather than doing output caching. This shifts the load off the database, at the cost of a little more processing in your app code. You have enough flexibility that you can cache complex data and filter it down fairly easily in your application. For example, you may cache every action by all users on the site, then fetch them and only show ones for the user being viewed.

You’re just a step away from explicit dirtying, which is a good goal. You just keep your data in the cache forever, and remove (or better yet, update) it when needed. With that layout, you basically never have to worry about populating it, and it’s a step towards decoupling things further, putting the DB query / cache logic into a completely different system than the cache fetch / display logic.</description>
		<content:encoded><![CDATA[<p>As you scale up, this approach doesn&#8217;t work as well. You end up needing something like a NetScaler, which handles load-balancing and caching.</p>
<p>Depending on your traffic rates, you can enable output caching for anonymous users only and see significant benefits.</p>
<p>You will also see improvement if you cache your data, rather than doing output caching. This shifts the load off the database, at the cost of a little more processing in your app code. You have enough flexibility that you can cache complex data and filter it down fairly easily in your application. For example, you may cache every action by all users on the site, then fetch them and only show ones for the user being viewed.</p>
<p>You’re just a step away from explicit dirtying, which is a good goal. You just keep your data in the cache forever, and remove (or better yet, update) it when needed. With that layout, you basically never have to worry about populating it, and it’s a step towards decoupling things further, putting the DB query / cache logic into a completely different system than the cache fetch / display logic.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
