<?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>五四陈科学院-坚信科学，分享技术 &#187; memcached</title>
	<atom:link href="http://www.54chen.com/tag/memcached/feed" rel="self" type="application/rss+xml" />
	<link>http://www.54chen.com</link>
	<description>PHP、JAVA、缓存、架构、经验、分享</description>
	<lastBuildDate>Sat, 11 Feb 2012 17:09:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>内部培训--memcached协议详解[原创][总结]</title>
		<link>http://www.54chen.com/_linux_/%e5%86%85%e9%83%a8%e5%9f%b9%e8%ae%ad-memcached%e5%8d%8f%e8%ae%ae%e8%af%a6%e8%a7%a3%e5%8e%9f%e5%88%9b%e6%80%bb%e7%bb%93.html</link>
		<comments>http://www.54chen.com/_linux_/%e5%86%85%e9%83%a8%e5%9f%b9%e8%ae%ad-memcached%e5%8d%8f%e8%ae%ae%e8%af%a6%e8%a7%a3%e5%8e%9f%e5%88%9b%e6%80%bb%e7%bb%93.html#comments</comments>
		<pubDate>Tue, 12 May 2009 10:59:02 +0000</pubDate>
		<dc:creator>cc0cc</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[memcached]]></category>
		<category><![CDATA[协议]]></category>

		<guid isPermaLink="false">http://www.54chen.com/_linux_/%e5%86%85%e9%83%a8%e5%9f%b9%e8%ae%ad-memcached%e5%8d%8f%e8%ae%ae%e8%af%a6%e8%a7%a3%e5%8e%9f%e5%88%9b%e6%80%bb%e7%bb%93.html</guid>
		<description><![CDATA[<a href="http://www.54chen.com"><img border="0" src="http://www.54chen.com/wp-content/themes/54chen2011/images/54chen-logo.gif"></a><br>以下内容由<a href="http://www.54chen.com">[五四陈科学院]</a>提供<br>[ 文章作者：陈臻 本文版本：v1.0 最后修改：2009.5.12 转载请注明原文链接：http://www.54chen.com/c/584 ] 本次讲座讲师是校内网高手张洁同学，主题是“memcached协议详解及java client分析比较”，java client分析比较线条化，只有在现场才能明白，此处只回顾memcached协议详解，为易于理解，标题段落有调整。 一.连接 安装好memcached，直接通过telnet localhost 11211连接。11211是memcache默认的端口。 二.协议 2.1store (存储) （可用命令）set/add/replace/prepend/append &#60;command name&#62; &#60;key&#62; &#60;flags&#62; &#60;exptime&#62; &#60;bytes&#62; [noreply]\r\n exptime 只能精确到秒 例如： set name 0 0 5&#60;回车&#62; zhangjie&#60;回车&#62; STORED 区别：set可能覆盖，add不能覆盖，prepend是续在前面，append是续在后面。 另：[noreply] 是新版中增加的标志，可以让服务器端不用返回。 2.2 cas（compare and set） &#8230;<br><br>想快点找到作者也可以到Twitter上留言: <a href="https://www.twitter.com/54chen" target="_blank">@54chen</a><br>或者你懒得带梯子上墙，请到新浪微博：<a href="http://t.sina.com.cn/54chen" target="_blank">@54chen</a>]]></description>
			<content:encoded><![CDATA[<a href="http://www.54chen.com"><img border="0" src="http://www.54chen.com/wp-content/themes/54chen2011/images/54chen-logo.gif"></a><br>以下内容由<a href="http://www.54chen.com">[五四陈科学院]</a>提供<br><p><span style="font-weight: normal;">[ 文章作者：陈臻 本文版本：v1.0 最后修改：2009.5.12 转载请注明原文链接：</span><a href="http://www.54chen.com/c/584"><span style="color: #000000; text-decoration: none;"><span style="font-weight: normal;"><span style="color: #000000; text-decoration: none;"><span style="color: #000000; text-decoration: none;">http://www.54chen.com/c/584</span></span></span></span></a><span style="font-weight: normal;"> ]</span></p>
<p>本次讲座讲师是校内网高手张洁同学，主题是“memcached协议详解及java client分析比较”，java client分析比较线条化，只有在现场才能明白，此处只回顾memcached协议详解，为易于理解，标题段落有调整。</p>
<p><strong>一.连接</strong></p>
<p>安装好memcached，直接通过telnet localhost 11211连接。11211是memcache默认的端口。</p>
<p><strong>二.协议</strong></p>
<div class="O">
<p><span style="font-weight: normal;"><span style="text-decoration: underline;">2.1</span></span><span lang="EN-GB"><span style="font-weight: normal;"><span style="text-decoration: underline;">store (存储)</span></span></span></p>
<div>
<div>
<p>（可用命令）set/add/replace/prepend/append</p>
<p><span lang="EN-GB"><span style="font-weight: normal;">&lt;command name&gt; &lt;key&gt; &lt;flags&gt; &lt;exptime&gt; </span></span><span lang="EN-GB"><span style="font-weight: normal;">&lt;bytes&gt; [noreply]\r\n</span></span></p>
<p>exptime 只能精确到秒</p></div>
</div>
<p>例如：</p>
<div>
<div>
<p>set name 0 0 5&lt;回车&gt;</p>
<p>zhangjie&lt;回车&gt;</p>
<p>STORED</p></div>
</div>
<p><span style="font-weight: normal;">区别：set可能</span><a href="http://www.54chen.com/c/356"><span style="color: #000000; text-decoration: none;"><span style="font-weight: normal;"><span style="color: #000000; text-decoration: none;"><span style="color: #000000; text-decoration: none;">覆盖</span></span></span></span></a><span style="font-weight: normal;">，add不能覆盖，prepend是续在前面，append是续在后面。</span></p>
<p>另：[noreply] 是新版中增加的标志，可以让服务器端不用返回。</p>
<p><span style="text-decoration: underline;">2.2 cas（compare and set）</span></p>
<p>最新版的命令。目的保证执行的原子性。</p>
<p>例如：</p>
<p>cas some 0 0 10 2</p>
<p><span style="font-weight: normal;">意思是：</span><a href="http://www.54chen.com/c/49"><span style="color: #000000; text-decoration: none;"><span style="font-weight: normal;"><span style="color: #000000; text-decoration: none;"><span style="color: #000000; text-decoration: none;">检查</span></span></span></span></a><span style="font-weight: normal;">some的值的版本是不是2，是2才把10存进去，</span></p>
<p><span style="text-decoration: underline;">2.3 get/gets</span></p>
<div>
<div>
<p>get &lt;key&gt;*</p>
<p>get key1\r\n</p>
<p>get key1 key2 key3\r\n</p></div>
</div>
<p><span style="font-weight: normal;">gets与get相比，返回</span><a href="http://www.54chen.com/c/11"><span style="color: #000000; text-decoration: none;"><span style="font-weight: normal;"><span style="color: #000000; text-decoration: none;"><span style="color: #000000; text-decoration: none;">结果</span></span></span></span></a><span style="font-weight: normal;">会多一个版本号：</span></p>
<div>
<p>gets some</p>
<p>VALUE some 0 10 2</p>
<p>2008-03-20</p>
<p>END</p></div>
<p><span style="text-decoration: underline;">2.4 delete（没得说的）</span></p>
<p><span><span><span style="font-weight: normal;"><span style="text-decoration: underline;">2.5 </span></span></span></span><span lang="EN-GB"><span style="font-weight: normal;"><span style="text-decoration: underline;">incr/decr（自增和自减）</span></span></span></p>
<p><span style="text-decoration: underline;">2.6 stats（运行状态）</span></p>
<div>
<div>
<p>STAT curr_items 1</p>
<p>STAT total_items 7</p>
<p>STAT bytes 58</p>
<p>STAT curr_connections 5</p>
<p>STAT total_connections 6</p>
<p>STAT connection_structures 6</p>
<p>STAT cmd_get 12</p>
<p>STAT cmd_set 11</p>
<p>STAT get_hits 8</p>
<p>STAT get_misses 4</p></div>
</div>
</div>
<div class="O">
<p><strong>三.两个java client</strong></p>
<p>spymemcached</p>
<p><span><span style="font-weight: normal;">  </span></span><span style="font-weight: normal;">http://code.google.com/p/spymemcached</span></p>
<p>Java memcached client</p>
<p>  http://www.whalin.com/memcached</p>
<p>关于环状的一致性hash很有意思，有时间研究研究。</p></div>
<br><br>想快点找到作者也可以到Twitter上留言: <a href="https://www.twitter.com/54chen" target="_blank">@54chen</a><br>或者你懒得带梯子上墙，请到新浪微博：<a href="http://t.sina.com.cn/54chen" target="_blank">@54chen</a>]]></content:encoded>
			<wfw:commentRss>http://www.54chen.com/_linux_/%e5%86%85%e9%83%a8%e5%9f%b9%e8%ae%ad-memcached%e5%8d%8f%e8%ae%ae%e8%af%a6%e8%a7%a3%e5%8e%9f%e5%88%9b%e6%80%bb%e7%bb%93.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

