<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments for Joped.com</title>
	<atom:link href="http://joped.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://joped.com</link>
	<description>Grumpy geek from Jersey living in San Francisco</description>
	<lastBuildDate>Sun, 07 Mar 2010 13:03:17 -0800</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Comment on Goodbye Evony and the alliance FUBAR on server 114 by Harfagri</title>
		<link>http://joped.com/2010/03/goodbye-evony-and-the-alliance-fubar-on-server-114/comment-page-1/#comment-5095</link>
		<dc:creator>Harfagri</dc:creator>
		<pubDate>Sun, 07 Mar 2010 13:03:17 +0000</pubDate>
		<guid isPermaLink="false">http://joped.com/?p=368#comment-5095</guid>
		<description>Dude, I know that feeling ;)

It was fun playing with you and now Vic is following you in leaving the game.

Hope to see you come back, I returned two weeks ago, and it&#039;s actually very nice to have no army to think about and be able to build the empire again up from the ruins ;)

kind regards
-Har</description>
		<content:encoded><![CDATA[<p>Dude, I know that feeling <img src='http://joped.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>It was fun playing with you and now Vic is following you in leaving the game.</p>
<p>Hope to see you come back, I returned two weeks ago, and it&#8217;s actually very nice to have no army to think about and be able to build the empire again up from the ruins <img src='http://joped.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>kind regards<br />
-Har</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Goodbye Evony and the alliance FUBAR on server 114 by dwight</title>
		<link>http://joped.com/2010/03/goodbye-evony-and-the-alliance-fubar-on-server-114/comment-page-1/#comment-5092</link>
		<dc:creator>dwight</dc:creator>
		<pubDate>Sun, 07 Mar 2010 01:45:16 +0000</pubDate>
		<guid isPermaLink="false">http://joped.com/?p=368#comment-5092</guid>
		<description>:( will miss ya buddy</description>
		<content:encoded><![CDATA[<p> <img src='http://joped.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  will miss ya buddy</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on A rant about proper memcache usage by Simon Green</title>
		<link>http://joped.com/2009/03/a-rant-about-proper-memcache-usage/comment-page-1/#comment-4282</link>
		<dc:creator>Simon Green</dc:creator>
		<pubDate>Thu, 05 Nov 2009 09:02:19 +0000</pubDate>
		<guid isPermaLink="false">http://joped.com/?p=129#comment-4282</guid>
		<description>Fantastic write up and rant :) It makes me despair when these basic rules get thrown out the window!

We did however just have to write a backup for memcached...

We have a site which for client requirements reasons absolutely has to run off Oracle, but the site itself makes a huge amount of queries on the homepage. If a change is made and the homepage cache has to be emptied the load put on Oracle by the volume of traffic hitting the page takes down the Oracle server. To get around this, we run a queue which replaces keys in Memcached in the background, rather than deleting the cache and letting a user repopulate it with a hit.

Our problem though is if one of the memcached servers goes down for any reason such as power failure or any general failure. Because the users no longer rebuild the cache, there is no way to rebuild the lost content. Instead what we are doing is piping the memcached log through a deamon we have written which scans for PUTs and when a PUT is done it does a GET on that key and saves it out to an SQLlite database. This effectively gives us a background running mirror of each memcached instance. Then on boot, the contents of the SQLlite table is loaded back into memcached very quickly.

An ugly and unfortunate but effective solution to a painful problem.</description>
		<content:encoded><![CDATA[<p>Fantastic write up and rant <img src='http://joped.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  It makes me despair when these basic rules get thrown out the window!</p>
<p>We did however just have to write a backup for memcached&#8230;</p>
<p>We have a site which for client requirements reasons absolutely has to run off Oracle, but the site itself makes a huge amount of queries on the homepage. If a change is made and the homepage cache has to be emptied the load put on Oracle by the volume of traffic hitting the page takes down the Oracle server. To get around this, we run a queue which replaces keys in Memcached in the background, rather than deleting the cache and letting a user repopulate it with a hit.</p>
<p>Our problem though is if one of the memcached servers goes down for any reason such as power failure or any general failure. Because the users no longer rebuild the cache, there is no way to rebuild the lost content. Instead what we are doing is piping the memcached log through a deamon we have written which scans for PUTs and when a PUT is done it does a GET on that key and saves it out to an SQLlite database. This effectively gives us a background running mirror of each memcached instance. Then on boot, the contents of the SQLlite table is loaded back into memcached very quickly.</p>
<p>An ugly and unfortunate but effective solution to a painful problem.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on A rant about proper memcache usage by Jonathan</title>
		<link>http://joped.com/2009/03/a-rant-about-proper-memcache-usage/comment-page-1/#comment-3920</link>
		<dc:creator>Jonathan</dc:creator>
		<pubDate>Fri, 02 Oct 2009 11:34:16 +0000</pubDate>
		<guid isPermaLink="false">http://joped.com/?p=129#comment-3920</guid>
		<description>I am in QA and was wondering what is the best way to test if memcached is correctly working on our dev code. I  have a situation where we cache all the books for all the authors. The developer says that if the response time is fast enough then memcache is working. The QA in me says that I should profile the database (MSSQL), which I did, and I noticed a few stored proc calls (which retrieve the books title). If caching was working properly there should have been no trip to this stored proc. I would say about 15-20% of the call end up missing the cache and go to database.

The developer says that memcached might have some issues and there is nothing he can do about it.

Any suggestions on what to do?

Thanks</description>
		<content:encoded><![CDATA[<p>I am in QA and was wondering what is the best way to test if memcached is correctly working on our dev code. I  have a situation where we cache all the books for all the authors. The developer says that if the response time is fast enough then memcache is working. The QA in me says that I should profile the database (MSSQL), which I did, and I noticed a few stored proc calls (which retrieve the books title). If caching was working properly there should have been no trip to this stored proc. I would say about 15-20% of the call end up missing the cache and go to database.</p>
<p>The developer says that memcached might have some issues and there is nothing he can do about it.</p>
<p>Any suggestions on what to do?</p>
<p>Thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on A rant about proper memcache usage by Bartek</title>
		<link>http://joped.com/2009/03/a-rant-about-proper-memcache-usage/comment-page-1/#comment-3274</link>
		<dc:creator>Bartek</dc:creator>
		<pubDate>Mon, 24 Aug 2009 10:40:29 +0000</pubDate>
		<guid isPermaLink="false">http://joped.com/?p=129#comment-3274</guid>
		<description>Number of arguments vary - this is a huge app with hundreds of business logic methods (and business layer is cached in the way described). Sometimes arguments are array of values. I cannot put that into key name as plain text - I need to make an unique hash somehow.

I do not delete cache entries and don&#039;t need to understand what particular key stands for. Cache entries have short expire of 60 seconds and that&#039;s enough in terms of deletion. All I am concerned of is performance = how much I could gain riping off md5 and what to chose instead. Thanks</description>
		<content:encoded><![CDATA[<p>Number of arguments vary &#8211; this is a huge app with hundreds of business logic methods (and business layer is cached in the way described). Sometimes arguments are array of values. I cannot put that into key name as plain text &#8211; I need to make an unique hash somehow.</p>
<p>I do not delete cache entries and don&#8217;t need to understand what particular key stands for. Cache entries have short expire of 60 seconds and that&#8217;s enough in terms of deletion. All I am concerned of is performance = how much I could gain riping off md5 and what to chose instead. Thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on A rant about proper memcache usage by Joped</title>
		<link>http://joped.com/2009/03/a-rant-about-proper-memcache-usage/comment-page-1/#comment-3243</link>
		<dc:creator>Joped</dc:creator>
		<pubDate>Fri, 21 Aug 2009 18:40:22 +0000</pubDate>
		<guid isPermaLink="false">http://joped.com/?p=129#comment-3243</guid>
		<description>Depending on the number of arguments you are passing, you might want to consider listing out each parameter manually in the key name.  For example:  mykey_$sort_$order_$limit_$value1_$value2_$other

Its also much easier to perform a delete against a key like that in another part of your code.  Unless you have a method for every key you create, which is kinda overboard.

Not to mention, it would also be much harder to understand what user_c4ca4238a0b923820dcc509a6f75849b is vs user_c81e728d9d4c2f636f067f89cc14862c when looking at memcached -vv or other debug tools.

It takes a little more work, but its all about key organization.</description>
		<content:encoded><![CDATA[<p>Depending on the number of arguments you are passing, you might want to consider listing out each parameter manually in the key name.  For example:  mykey_$sort_$order_$limit_$value1_$value2_$other</p>
<p>Its also much easier to perform a delete against a key like that in another part of your code.  Unless you have a method for every key you create, which is kinda overboard.</p>
<p>Not to mention, it would also be much harder to understand what user_c4ca4238a0b923820dcc509a6f75849b is vs user_c81e728d9d4c2f636f067f89cc14862c when looking at memcached -vv or other debug tools.</p>
<p>It takes a little more work, but its all about key organization.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on A rant about proper memcache usage by Bartek</title>
		<link>http://joped.com/2009/03/a-rant-about-proper-memcache-usage/comment-page-1/#comment-3238</link>
		<dc:creator>Bartek</dc:creator>
		<pubDate>Fri, 21 Aug 2009 14:55:16 +0000</pubDate>
		<guid isPermaLink="false">http://joped.com/?p=129#comment-3238</guid>
		<description>Good points. Instead one: I still use md5 for keys. Would love to read what you suggest instead.

My keys need to include method name + arguments passed, so I am using something like:
md5( serialize( array( method name, array( arguments passed ) ) ) ) as memcache key.

This keeps my keys unique and short (as serialized arguments might be longish sometimes). What would you suggest instead of md5 in that case?</description>
		<content:encoded><![CDATA[<p>Good points. Instead one: I still use md5 for keys. Would love to read what you suggest instead.</p>
<p>My keys need to include method name + arguments passed, so I am using something like:<br />
md5( serialize( array( method name, array( arguments passed ) ) ) ) as memcache key.</p>
<p>This keeps my keys unique and short (as serialized arguments might be longish sometimes). What would you suggest instead of md5 in that case?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Our new kittens! by Brady J. Frey</title>
		<link>http://joped.com/2009/07/our-new-kittens/comment-page-1/#comment-3050</link>
		<dc:creator>Brady J. Frey</dc:creator>
		<pubDate>Thu, 06 Aug 2009 22:45:39 +0000</pubDate>
		<guid isPermaLink="false">http://joped.com/?p=301#comment-3050</guid>
		<description>Aww, they&#039;re adorable - you&#039;re just made my girlfriends day, I&#039;m sending her a link now...</description>
		<content:encoded><![CDATA[<p>Aww, they&#8217;re adorable &#8211; you&#8217;re just made my girlfriends day, I&#8217;m sending her a link now&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Our new kittens! by jsheppard</title>
		<link>http://joped.com/2009/07/our-new-kittens/comment-page-1/#comment-2742</link>
		<dc:creator>jsheppard</dc:creator>
		<pubDate>Mon, 20 Jul 2009 03:30:36 +0000</pubDate>
		<guid isPermaLink="false">http://joped.com/?p=301#comment-2742</guid>
		<description>Awww. So CUTE!  They need names!</description>
		<content:encoded><![CDATA[<p>Awww. So CUTE!  They need names!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on A rant about proper memcache usage by 451 CAOS Theory &#187; The commercialisation of Memcached</title>
		<link>http://joped.com/2009/03/a-rant-about-proper-memcache-usage/comment-page-1/#comment-2234</link>
		<dc:creator>451 CAOS Theory &#187; The commercialisation of Memcached</dc:creator>
		<pubDate>Wed, 17 Jun 2009 10:13:04 +0000</pubDate>
		<guid isPermaLink="false">http://joped.com/?p=129#comment-2234</guid>
		<description>[...] things Memcached is not include a database, a queue system and a [...]</description>
		<content:encoded><![CDATA[<p>[...] things Memcached is not include a database, a queue system and a [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
