﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-经验不在于年限，在于积累---专注互联网软件开发-随笔分类-缓存+Memcached</title><link>http://www.blogjava.net/hankchen/category/41477.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 12 Jan 2010 21:46:56 GMT</lastBuildDate><pubDate>Tue, 12 Jan 2010 21:46:56 GMT</pubDate><ttl>60</ttl><item><title>FIFO 、LRU、LFU三种算法</title><link>http://www.blogjava.net/hankchen/archive/2010/01/10/308961.html</link><dc:creator>hankchen</dc:creator><author>hankchen</author><pubDate>Sun, 10 Jan 2010 15:42:00 GMT</pubDate><guid>http://www.blogjava.net/hankchen/archive/2010/01/10/308961.html</guid><wfw:comment>http://www.blogjava.net/hankchen/comments/308961.html</wfw:comment><comments>http://www.blogjava.net/hankchen/archive/2010/01/10/308961.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hankchen/comments/commentRss/308961.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hankchen/services/trackbacks/308961.html</trackback:ping><description><![CDATA[&nbsp;
<p style="line-height: 150%"><span style="line-height: 150%; font-family: 'Times New Roman','serif'; font-size: 12pt">&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">提到缓存，有两点是必须要考虑的：</span><span style="line-height: 150%; font-family: 'Times New Roman','serif'; font-size: 12pt"><br />
</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">（</span><span style="line-height: 150%; font-family: 'Times New Roman','serif'; font-size: 12pt">1</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">）缓存数据和目标数据的一致性问题。</span><span style="line-height: 150%; font-family: 'Times New Roman','serif'; font-size: 12pt"><br />
</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">（</span><span style="line-height: 150%; font-family: 'Times New Roman','serif'; font-size: 12pt">2</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">）缓存的过期策略（机制）。</span><span style="line-height: 150%; font-family: 'Times New Roman','serif'; font-size: 12pt"><br />
&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">其中，缓存的过期策略涉及淘汰算法。常用的淘汰算法有下面几种：</span><span style="line-height: 150%; font-family: 'Times New Roman','serif'; font-size: 12pt"><br />
</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">（</span><span style="line-height: 150%; font-family: 'Times New Roman','serif'; font-size: 12pt">1</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">）</span><span style="line-height: 150%; font-family: 'Times New Roman','serif'; font-size: 12pt">FIFO</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">：</span><span style="line-height: 150%; font-family: 'Times New Roman','serif'; font-size: 12pt">First In First Out</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">，先进先出</span><span style="line-height: 150%; font-family: 'Times New Roman','serif'; font-size: 12pt"><br />
</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">（</span><span style="line-height: 150%; font-family: 'Times New Roman','serif'; font-size: 12pt">2</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">）</span><span style="line-height: 150%; font-family: 'Times New Roman','serif'; font-size: 12pt">LRU</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">：</span><span style="line-height: 150%; font-family: 'Times New Roman','serif'; font-size: 12pt">Least Recently Used</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">，最近最少使用</span><span style="line-height: 150%; font-family: 'Times New Roman','serif'; font-size: 12pt"><br />
</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">（</span><span style="line-height: 150%; font-family: 'Times New Roman','serif'; font-size: 12pt">3</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">）</span><span style="line-height: 150%; font-family: 'Times New Roman','serif'; font-size: 12pt">LFU</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">：</span><span style="line-height: 150%; font-family: 'Times New Roman','serif'; font-size: 12pt">Least Frequently Used</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">，最不经常使用</span><span style="line-height: 150%; font-family: 'Times New Roman','serif'; font-size: 12pt"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">注意</span><span style="line-height: 150%; font-family: 'Times New Roman','serif'; font-size: 12pt">LRU</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">和</span><span style="line-height: 150%; font-family: 'Times New Roman','serif'; font-size: 12pt">LFU</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">的区别。</span><span style="line-height: 150%; font-family: 'Times New Roman','serif'; font-size: 12pt">LFU</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">算法是根据在一段时间里数据项被使用的次数选择出最少使用的数据项，即根据使用次数的差异来决定。而</span><span style="line-height: 150%; font-family: 'Times New Roman','serif'; font-size: 12pt">LRU</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">是根据使用时间的差异来决定的。</span><span style="line-height: 150%; font-family: 'Times New Roman','serif'; font-size: 12pt"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">一个优秀的缓存框架必须实现以上的所有缓存机制。例如：</span><span style="line-height: 150%; font-family: 'Times New Roman','serif'; font-size: 12pt">Ehcache</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">就实现了上面的所有策略。<br />
<span style="font-family: 'Times New Roman', 'serif'; color: black; font-size: 12pt"><span style="line-height: 150%; font-family: 宋体; color: black; font-size: 12pt"><span style="font-family: 宋体; font-size: 12pt"><strong><br />
（友情提示：本博文章欢迎转载，但请注明出处：hankchen，</strong><a title="http://www.blogjava.net/hankchen" href="http://www.blogjava.net/hankchen"><strong>http://www.blogjava.net/hankchen</strong></a><strong>）</strong></span></span></span></span></p>
<img src ="http://www.blogjava.net/hankchen/aggbug/308961.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hankchen/" target="_blank">hankchen</a> 2010-01-10 23:42 <a href="http://www.blogjava.net/hankchen/archive/2010/01/10/308961.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux下Memcached安装步骤详解</title><link>http://www.blogjava.net/hankchen/archive/2010/01/04/308164.html</link><dc:creator>hankchen</dc:creator><author>hankchen</author><pubDate>Mon, 04 Jan 2010 05:32:00 GMT</pubDate><guid>http://www.blogjava.net/hankchen/archive/2010/01/04/308164.html</guid><wfw:comment>http://www.blogjava.net/hankchen/comments/308164.html</wfw:comment><comments>http://www.blogjava.net/hankchen/archive/2010/01/04/308164.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/hankchen/comments/commentRss/308164.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hankchen/services/trackbacks/308164.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Linux下Memcached安装步骤详解（友情提示：本博文章欢迎转载，但请注明出处：hankchen，http://www.blogjava.net/hankchen）1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 首先下载memcached 和 libevent 包。 Memcached用到了libevent这个库用于Socke...&nbsp;&nbsp;<a href='http://www.blogjava.net/hankchen/archive/2010/01/04/308164.html'>阅读全文</a><img src ="http://www.blogjava.net/hankchen/aggbug/308164.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hankchen/" target="_blank">hankchen</a> 2010-01-04 13:32 <a href="http://www.blogjava.net/hankchen/archive/2010/01/04/308164.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>