﻿<?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-java 友人帮-文章分类-MemCache </title><link>http://www.blogjava.net/jzone/category/40602.html</link><description>java web, java wap ..My laboratory..</description><language>zh-cn</language><lastBuildDate>Tue, 26 Jan 2010 19:39:51 GMT</lastBuildDate><pubDate>Tue, 26 Jan 2010 19:39:51 GMT</pubDate><ttl>60</ttl><item><title>memcache 管理指令 --stats</title><link>http://www.blogjava.net/jzone/articles/302991.html</link><dc:creator>Gavin.lee</dc:creator><author>Gavin.lee</author><pubDate>Thu, 19 Nov 2009 14:59:00 GMT</pubDate><guid>http://www.blogjava.net/jzone/articles/302991.html</guid><description><![CDATA[<div class="xspace-itemmessage" id="xspace-showmessage">连上memcache，然后stats，详细如下：<br />
mqq@32_167_game:~&gt; telnet server port<br />
Trying 172.16.32.166...<br />
Connected to 172.16.32.166.<br />
Escape character is '^]'.<br />
stats<br />
STAT pid 26530<br />
STAT uptime 5807<br />
STAT time 1258643806<br />
STAT version 1.2.2<br />
STAT pointer_size 64<br />
STAT rusage_user 12.372773<br />
STAT rusage_system 24.233514<br />
STAT curr_items 72820<br />
STAT total_items 5526<br />
STAT bytes 95306264<br />
STAT curr_connections 115<br />
STAT total_connections 1<br />
STAT connection_structures 116<br />
STAT cmd_get 12507<br />
STAT cmd_set 5526<br />
STAT get_hits 12498<br />
STAT get_misses 9<br />
STAT evictions 0<br />
STAT bytes_read 7363968<br />
STAT bytes_written 15636889<br />
STAT limit_maxbytes 2147483648<br />
STAT threads 1<br />
END<br />
<br />
<table id="memcache" cellspacing="0" cellpadding="0" border="1">
    <tbody>
        <tr>
            <td>pid</td>
            <td>memcache服务器的进程ID</td>
        </tr>
        <tr>
            <td>uptime</td>
            <td>服务器已经运行的秒数</td>
        </tr>
        <tr>
            <td>time</td>
            <td>服务器当前的unix时间戳</td>
        </tr>
        <tr>
            <td>version</td>
            <td>memcache版本</td>
        </tr>
        <tr>
            <td>pointer_size</td>
            <td>当前OS的指针大小（32位系统一般是32bit）</td>
        </tr>
        <tr>
            <td>rusage_user</td>
            <td>进程的累计用户时间</td>
        </tr>
        <tr>
            <td>rusage_system</td>
            <td>进程的累计系统时间</td>
        </tr>
        <tr>
            <td>curr_items</td>
            <td>服务器当前存储的items数量</td>
        </tr>
        <tr>
            <td>total_items</td>
            <td>从服务器启动以后存储的items总数量</td>
        </tr>
        <tr>
            <td>bytes</td>
            <td>当前服务器存储items占用的字节数</td>
        </tr>
        <tr>
            <td>curr_connections</td>
            <td>当前打开着的连接数</td>
        </tr>
        <tr>
            <td>total_connections</td>
            <td>从服务器启动以后曾经打开过的连接数</td>
        </tr>
        <tr>
            <td>connection_structures</td>
            <td>服务器分配的连接构造数</td>
        </tr>
        <tr>
            <td>cmd_get</td>
            <td>get命令（获取）总请求次数</td>
        </tr>
        <tr>
            <td>cmd_set</td>
            <td>set命令（保存）总请求次数</td>
        </tr>
        <tr>
            <td>get_hits</td>
            <td>总命中次数</td>
        </tr>
        <tr>
            <td>get_misses</td>
            <td>总未命中次数</td>
        </tr>
        <tr>
            <td>evictions</td>
            <td>为获取空闲内存而删除的items数（分配给memcache的空间用满后需要删除旧的items来得到空间分配给新的items）</td>
        </tr>
        <tr>
            <td>bytes_read</td>
            <td>总读取字节数（请求字节数）</td>
        </tr>
        <tr>
            <td>bytes_written</td>
            <td>总发送字节数（结果字节数）</td>
        </tr>
        <tr>
            <td>limit_maxbytes</td>
            <td>分配给memcache的内存大小（字节）</td>
        </tr>
        <tr>
            <td>threads</td>
            <td>当前线程数</td>
        </tr>
    </tbody>
</table>
</div>
 <img src ="http://www.blogjava.net/jzone/aggbug/302991.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jzone/" target="_blank">Gavin.lee</a> 2009-11-19 22:59 <a href="http://www.blogjava.net/jzone/articles/302991.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java MemCache server application</title><link>http://www.blogjava.net/jzone/articles/302593.html</link><dc:creator>Gavin.lee</dc:creator><author>Gavin.lee</author><pubDate>Mon, 16 Nov 2009 10:30:00 GMT</pubDate><guid>http://www.blogjava.net/jzone/articles/302593.html</guid><description><![CDATA[1.<font color="#993300">Memcached是高性能的，分布式的内存对象缓存系统，用于在动态应用中减少数据库负载，提升访问速度。<font color="#993300">Memcached由Danga Interactive开发，用于提升LiveJournal.com访问速度的。LJ每秒动态页面访问量几千次，用户700万。Memcached将数据库负载大幅度降低，更好的分配资源，更快速访问。</font></font><br />
2.数据的缓存设置和存取操作，以及数据的更新后替换操作全部需要程序来进行，而不是自动进行的<br />
3.通过在内存里维护一个统一的巨大的hash表，Memcached能够用来存储各种格式的数据，包括图像、视频、文件以及数据库检索的结果等。 <br />
4. ./memcached -d -m 2048 -u mqq -l 172.16.32.166 -p 123456-c 1024 -P /tmp/memcached.pid<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memcached的基本设置：<br />
&nbsp;&nbsp;&nbsp;&nbsp;-p 监听的端口<br />
&nbsp;&nbsp;&nbsp;&nbsp;-l 连接的IP地址, 默认是本机<br />
&nbsp;&nbsp;&nbsp;&nbsp;-d start 启动memcached服务<br />
&nbsp;&nbsp;&nbsp;&nbsp;-d restart 重起memcached服务<br />
&nbsp;&nbsp;&nbsp;&nbsp;-d stop|shutdown 关闭正在运行的memcached服务<br />
&nbsp;&nbsp;&nbsp;&nbsp;-d install 安装memcached服务<br />
&nbsp;&nbsp;&nbsp;&nbsp;-d uninstall 卸载memcached服务<br />
&nbsp;&nbsp;&nbsp;&nbsp;-u 以的身份运行 (仅在以root运行的时候有效)<br />
&nbsp;&nbsp;&nbsp;&nbsp;-m 最大内存使用，单位MB。默认64MB<br />
&nbsp;&nbsp;&nbsp;&nbsp;-M 内存耗尽时返回错误，而不是删除项<br />
&nbsp;&nbsp;&nbsp;&nbsp;-c 最大同时连接数，默认是1024<br />
&nbsp;&nbsp;&nbsp;&nbsp;-f 块大小增长因子，默认是1.25<br />
&nbsp;&nbsp;&nbsp;&nbsp;-n 最小分配空间，key+value+flags默认是48<br />
&nbsp;&nbsp;&nbsp;&nbsp;-h 显示帮助<br />
5.memcached尽管是&#8220;分布式&#8221;缓存服务器，但服务器端并没有分布式功能。各个memcached不会互相通信以共享信息<br />
6.查看memcached的内部状态<br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="mailto:mqq@32_166_game:~>telnet">mqq@32_166_game:~&gt;telnet</a> 172.16.32.166&nbsp;123456&nbsp;&nbsp;&nbsp;&nbsp;Trying 172.16.32.166...<br />
&nbsp;&nbsp;&nbsp;&nbsp;Connected to 172.16.32.166.<br />
&nbsp;&nbsp;&nbsp;&nbsp;Escape character is '^]'.<br />
&nbsp;&nbsp;&nbsp;&nbsp;stats<br />
&nbsp;&nbsp;&nbsp;&nbsp;STAT pid 26317<br />
&nbsp;&nbsp;&nbsp;&nbsp;STAT uptime 71408<br />
&nbsp;&nbsp;&nbsp;&nbsp;STAT time 1258367635<br />
&nbsp;&nbsp;&nbsp;&nbsp;STAT version 1.2.2<br />
&nbsp;&nbsp;&nbsp;&nbsp;STAT pointer_size 64<br />
&nbsp;&nbsp;&nbsp;&nbsp;STAT rusage_user 127.907993<br />
&nbsp;&nbsp;&nbsp;&nbsp;STAT rusage_system 278.705418<br />
&nbsp;&nbsp;&nbsp;&nbsp;STAT curr_items 756259<br />
&nbsp;&nbsp;&nbsp;&nbsp;STAT total_items 29918<br />
&nbsp;&nbsp;&nbsp;&nbsp;STAT bytes 989861501<br />
&nbsp;&nbsp;&nbsp;&nbsp;STAT curr_connections 143<br />
&nbsp;&nbsp;&nbsp;&nbsp;STAT total_connections 1<br />
&nbsp;&nbsp;&nbsp;&nbsp;STAT connection_structures 1018<br />
&nbsp;&nbsp;&nbsp;&nbsp;STAT cmd_get 58511<br />
&nbsp;&nbsp;&nbsp;&nbsp;STAT cmd_set 29918<br />
&nbsp;&nbsp;&nbsp;&nbsp;STAT get_hits 58434<br />
&nbsp;&nbsp;&nbsp;&nbsp;STAT get_misses 77<br />
&nbsp;&nbsp;&nbsp;&nbsp;STAT evictions 0<br />
&nbsp;&nbsp;&nbsp;&nbsp;STAT bytes_read 41389081<br />
&nbsp;&nbsp;&nbsp;&nbsp;STAT bytes_written 73698257<br />
&nbsp;&nbsp;&nbsp;&nbsp;STAT limit_maxbytes 2147483648<br />
&nbsp;&nbsp;&nbsp;&nbsp;STAT threads 1<br />
&nbsp;&nbsp;&nbsp;&nbsp;END<br />
quit<br />
7. <a href="http://www.whalin.com/memcached/">http://www.whalin.com/memcached/</a>&nbsp; ------java memcached client,about javadocs<br />
<img src ="http://www.blogjava.net/jzone/aggbug/302593.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jzone/" target="_blank">Gavin.lee</a> 2009-11-16 18:30 <a href="http://www.blogjava.net/jzone/articles/302593.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java MemCache client application Model</title><link>http://www.blogjava.net/jzone/articles/302583.html</link><dc:creator>Gavin.lee</dc:creator><author>Gavin.lee</author><pubDate>Mon, 16 Nov 2009 09:12:00 GMT</pubDate><guid>http://www.blogjava.net/jzone/articles/302583.html</guid><description><![CDATA[这段时间解决系统的瓶颈，首要是对memcache的优化，今天得空将目前在用的memcache整理了一下，贴个客户端实体类-----这里设置的参数都是通过配置文件的。道理很简单，以戒后用<br />
（注：<a href="http://code.google.com/p/memcache-client-forjava/downloads/list">http://code.google.com/p/memcache-client-forjava/downloads/list</a> 本次使用的是来自这里的封装包，网上结论说alisoft memcache 性能不高，经高压下使用，个人感觉确实不妥。<br />
可考虑使用 <a href="http://www.whalin.com/memcached/#download">http://www.whalin.com/memcached/#download</a> ）<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;yixun.wap.cache;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img id="Codehighlighter1_26_121_Open_Image" onclick="this.style.display='none'; Codehighlighter1_26_121_Open_Text.style.display='none'; Codehighlighter1_26_121_Closed_Image.style.display='inline'; Codehighlighter1_26_121_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_26_121_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_26_121_Closed_Text.style.display='none'; Codehighlighter1_26_121_Open_Image.style.display='inline'; Codehighlighter1_26_121_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_26_121_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**&nbsp;*/</span><span id="Codehighlighter1_26_121_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;*&nbsp;</span><span style="color: #808080">@deprecated</span><span style="color: #008000">&nbsp;mem-cache缓存类&nbsp;备用类<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;*&nbsp;</span><span style="color: #808080">@author</span><span style="color: #008000">&nbsp;Administrator<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;*&nbsp;@date&nbsp;2009-11-15&nbsp;14:08:02&nbsp;更新<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.util.Date;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;com.alisoft.xplatform.asf.cache.memcached.client.MemCachedClient;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;com.alisoft.xplatform.asf.cache.memcached.client.SockIOPool;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;yixun.wap.resourcesload.MemcacheConfig;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img id="Codehighlighter1_357_2714_Open_Image" onclick="this.style.display='none'; Codehighlighter1_357_2714_Open_Text.style.display='none'; Codehighlighter1_357_2714_Closed_Image.style.display='inline'; Codehighlighter1_357_2714_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_357_2714_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_357_2714_Closed_Text.style.display='none'; Codehighlighter1_357_2714_Open_Image.style.display='inline'; Codehighlighter1_357_2714_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;MemCache&nbsp;</span><span id="Codehighlighter1_357_2714_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_357_2714_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;MemCachedClient&nbsp;mcc&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">;<br />
<img id="Codehighlighter1_411_1784_Open_Image" onclick="this.style.display='none'; Codehighlighter1_411_1784_Open_Text.style.display='none'; Codehighlighter1_411_1784_Closed_Image.style.display='inline'; Codehighlighter1_411_1784_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_411_1784_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_411_1784_Closed_Text.style.display='none'; Codehighlighter1_411_1784_Open_Image.style.display='inline'; Codehighlighter1_411_1784_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span id="Codehighlighter1_411_1784_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_411_1784_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mcc&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;MemCachedClient();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Boolean&nbsp;nagle&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Boolean&nbsp;ce&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;获取socke连接池的实例对象</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SockIOPool&nbsp;pool&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;SockIOPool.getInstance();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;设置服务器信息</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pool.setServers(MemcacheConfig.getServers().split(</span><span style="color: #000000">"</span><span style="color: #000000">;</span><span style="color: #000000">"</span><span style="color: #000000">));<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String[]&nbsp;weights&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;MemcacheConfig.getWeights().split(</span><span style="color: #000000">"</span><span style="color: #000000">;</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Integer[]&nbsp;wei&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Integer[weights.length];<br />
<img id="Codehighlighter1_786_832_Open_Image" onclick="this.style.display='none'; Codehighlighter1_786_832_Open_Text.style.display='none'; Codehighlighter1_786_832_Closed_Image.style.display='inline'; Codehighlighter1_786_832_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_786_832_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_786_832_Closed_Text.style.display='none'; Codehighlighter1_786_832_Open_Image.style.display='inline'; Codehighlighter1_786_832_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">;&nbsp;i&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;weights.length;&nbsp;i</span><span style="color: #000000">++</span><span style="color: #000000">)&nbsp;</span><span id="Codehighlighter1_786_832_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_786_832_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wei[i]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Integer.parseInt(weights[i]);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pool.setWeights(wei);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;设置初始连接数、最小和最大连接数以及最大处理时间</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pool.setInitConn(Integer.parseInt(MemcacheConfig.getInitconn()));<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pool.setMinConn(Integer.parseInt(MemcacheConfig.getMinconn()));<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pool.setMaxConn(Integer.parseInt(MemcacheConfig.getMaxconn()));<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pool.setMaxIdle(Long.parseLong(MemcacheConfig.getMaxidle()));<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;设置主线程的睡眠时间</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pool.setMaintSleep(Long.parseLong(MemcacheConfig.getMaintsleep()));<br />
<img id="Codehighlighter1_1297_1318_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1297_1318_Open_Text.style.display='none'; Codehighlighter1_1297_1318_Closed_Image.style.display='inline'; Codehighlighter1_1297_1318_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1297_1318_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1297_1318_Closed_Text.style.display='none'; Codehighlighter1_1297_1318_Open_Image.style.display='inline'; Codehighlighter1_1297_1318_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(</span><span style="color: #000000">!</span><span style="color: #000000">MemcacheConfig.getNagle().equals(</span><span style="color: #000000">"</span><span style="color: #000000">false</span><span style="color: #000000">"</span><span style="color: #000000">))&nbsp;</span><span id="Codehighlighter1_1297_1318_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_1297_1318_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nagle&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;设置TCP的参数，连接超时等</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pool.setNagle(nagle);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pool.setSocketTO(Integer.parseInt(MemcacheConfig.getSocketTO()));<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pool.setSocketConnectTO(Integer.parseInt(MemcacheConfig.getSocketConnectTO()));<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;初始化连接池</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pool.initialize();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;压缩设置，超过指定大小（单位为K）的数据都会被压缩</span><span style="color: #008000"><br />
<img id="Codehighlighter1_1645_1664_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1645_1664_Open_Text.style.display='none'; Codehighlighter1_1645_1664_Closed_Image.style.display='inline'; Codehighlighter1_1645_1664_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1645_1664_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1645_1664_Closed_Text.style.display='none'; Codehighlighter1_1645_1664_Open_Image.style.display='inline'; Codehighlighter1_1645_1664_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(MemcacheConfig.getCompressEnable().equals(</span><span style="color: #000000">"</span><span style="color: #000000">false</span><span style="color: #000000">"</span><span style="color: #000000">))&nbsp;</span><span id="Codehighlighter1_1645_1664_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_1645_1664_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ce&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mcc.setCompressEnable(ce);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mcc.setCompressThreshold(Long.parseLong(MemcacheConfig.getCompressThreshold()));<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img id="Codehighlighter1_1805_1811_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1805_1811_Open_Text.style.display='none'; Codehighlighter1_1805_1811_Closed_Image.style.display='inline'; Codehighlighter1_1805_1811_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1805_1811_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1805_1811_Closed_Text.style.display='none'; Codehighlighter1_1805_1811_Open_Image.style.display='inline'; Codehighlighter1_1805_1811_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;MemCache()</span><span id="Codehighlighter1_1805_1811_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_1805_1811_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;MemCache&nbsp;instance;<br />
<img id="Codehighlighter1_1900_1977_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1900_1977_Open_Text.style.display='none'; Codehighlighter1_1900_1977_Closed_Image.style.display='inline'; Codehighlighter1_1900_1977_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1900_1977_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1900_1977_Closed_Text.style.display='none'; Codehighlighter1_1900_1977_Open_Image.style.display='inline'; Codehighlighter1_1900_1977_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">synchronized</span><span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;MemCache&nbsp;getInstance()&nbsp;</span><span id="Codehighlighter1_1900_1977_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_1900_1977_Open_Text"><span style="color: #000000">{<br />
<img id="Codehighlighter1_1925_1955_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1925_1955_Open_Text.style.display='none'; Codehighlighter1_1925_1955_Closed_Image.style.display='inline'; Codehighlighter1_1925_1955_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1925_1955_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1925_1955_Closed_Text.style.display='none'; Codehighlighter1_1925_1955_Open_Image.style.display='inline'; Codehighlighter1_1925_1955_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(instance&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">)&nbsp;</span><span id="Codehighlighter1_1925_1955_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_1925_1955_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;MemCache();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;instance;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;在memcache中对数据进行存、取、删、更新</span><span style="color: #008000"><br />
<img id="Codehighlighter1_2056_2089_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2056_2089_Open_Text.style.display='none'; Codehighlighter1_2056_2089_Closed_Image.style.display='inline'; Codehighlighter1_2056_2089_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_2056_2089_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_2056_2089_Closed_Text.style.display='none'; Codehighlighter1_2056_2089_Open_Image.style.display='inline'; Codehighlighter1_2056_2089_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">boolean</span><span style="color: #000000">&nbsp;set(String&nbsp;key,&nbsp;Object&nbsp;value)&nbsp;</span><span id="Codehighlighter1_2056_2089_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_2056_2089_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;mcc.set(key,&nbsp;value);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img id="Codehighlighter1_2151_2216_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2151_2216_Open_Text.style.display='none'; Codehighlighter1_2151_2216_Closed_Image.style.display='inline'; Codehighlighter1_2151_2216_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_2151_2216_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_2151_2216_Closed_Text.style.display='none'; Codehighlighter1_2151_2216_Open_Image.style.display='inline'; Codehighlighter1_2151_2216_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">boolean</span><span style="color: #000000">&nbsp;set(String&nbsp;key,&nbsp;Object&nbsp;value,&nbsp;String&nbsp;time)&nbsp;</span><span id="Codehighlighter1_2151_2216_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_2151_2216_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;mcc.set(key,&nbsp;value,&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Date(Long.parseLong(time)));<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img id="Codehighlighter1_2250_2277_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2250_2277_Open_Text.style.display='none'; Codehighlighter1_2250_2277_Closed_Image.style.display='inline'; Codehighlighter1_2250_2277_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_2250_2277_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_2250_2277_Closed_Text.style.display='none'; Codehighlighter1_2250_2277_Open_Image.style.display='inline'; Codehighlighter1_2250_2277_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;Object&nbsp;get(String&nbsp;key)&nbsp;</span><span id="Codehighlighter1_2250_2277_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_2250_2277_Open_Text"><span style="color: #000000">{&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;mcc.get(key);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img id="Codehighlighter1_2315_2344_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2315_2344_Open_Text.style.display='none'; Codehighlighter1_2315_2344_Closed_Image.style.display='inline'; Codehighlighter1_2315_2344_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_2315_2344_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_2315_2344_Closed_Text.style.display='none'; Codehighlighter1_2315_2344_Open_Image.style.display='inline'; Codehighlighter1_2315_2344_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">boolean</span><span style="color: #000000">&nbsp;delete(String&nbsp;key)&nbsp;</span><span id="Codehighlighter1_2315_2344_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_2315_2344_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;mcc.delete(key);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img id="Codehighlighter1_2395_2430_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2395_2430_Open_Text.style.display='none'; Codehighlighter1_2395_2430_Closed_Image.style.display='inline'; Codehighlighter1_2395_2430_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_2395_2430_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_2395_2430_Closed_Text.style.display='none'; Codehighlighter1_2395_2430_Open_Image.style.display='inline'; Codehighlighter1_2395_2430_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">boolean</span><span style="color: #000000">&nbsp;update(String&nbsp;key,&nbsp;Object&nbsp;obj)&nbsp;</span><span id="Codehighlighter1_2395_2430_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_2395_2430_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;mcc.replace(key,&nbsp;obj);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img id="Codehighlighter1_2496_2541_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2496_2541_Open_Text.style.display='none'; Codehighlighter1_2496_2541_Closed_Image.style.display='inline'; Codehighlighter1_2496_2541_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_2496_2541_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_2496_2541_Closed_Text.style.display='none'; Codehighlighter1_2496_2541_Open_Image.style.display='inline'; Codehighlighter1_2496_2541_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">boolean</span><span style="color: #000000">&nbsp;update(String&nbsp;key,&nbsp;Object&nbsp;value,&nbsp;Date&nbsp;expiry)&nbsp;</span><span id="Codehighlighter1_2496_2541_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_2496_2541_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;mcc.replace(key,&nbsp;value,&nbsp;expiry);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img id="Codehighlighter1_2570_2591_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2570_2591_Open_Text.style.display='none'; Codehighlighter1_2570_2591_Closed_Image.style.display='inline'; Codehighlighter1_2570_2591_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_2570_2591_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_2570_2591_Closed_Text.style.display='none'; Codehighlighter1_2570_2591_Open_Image.style.display='inline'; Codehighlighter1_2570_2591_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;flush_all()&nbsp;</span><span id="Codehighlighter1_2570_2591_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_2570_2591_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mcc.flushAll();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img id="Codehighlighter1_2628_2645_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2628_2645_Open_Text.style.display='none'; Codehighlighter1_2628_2645_Closed_Image.style.display='inline'; Codehighlighter1_2628_2645_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_2628_2645_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_2628_2645_Closed_Text.style.display='none'; Codehighlighter1_2628_2645_Open_Image.style.display='inline'; Codehighlighter1_2628_2645_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;MemCachedClient&nbsp;getMcc()&nbsp;</span><span id="Codehighlighter1_2628_2645_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_2628_2645_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;mcc;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img id="Codehighlighter1_2690_2711_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2690_2711_Open_Text.style.display='none'; Codehighlighter1_2690_2711_Closed_Image.style.display='inline'; Codehighlighter1_2690_2711_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_2690_2711_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_2690_2711_Closed_Text.style.display='none'; Codehighlighter1_2690_2711_Open_Image.style.display='inline'; Codehighlighter1_2690_2711_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;setMcc(MemCachedClient&nbsp;mcc)&nbsp;</span><span id="Codehighlighter1_2690_2711_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_2690_2711_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.mcc&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;mcc;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span></div>
<img src ="http://www.blogjava.net/jzone/aggbug/302583.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jzone/" target="_blank">Gavin.lee</a> 2009-11-16 17:12 <a href="http://www.blogjava.net/jzone/articles/302583.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>需要放入memcache 中的对象序列化</title><link>http://www.blogjava.net/jzone/articles/291371.html</link><dc:creator>Gavin.lee</dc:creator><author>Gavin.lee</author><pubDate>Sun, 16 Aug 2009 10:28:00 GMT</pubDate><guid>http://www.blogjava.net/jzone/articles/291371.html</guid><description><![CDATA[[ERROR] yixun.wap.news.news.New; yixun.wap.news.news.New; class invalid for deserialization<br />
java.io.InvalidClassException: yixun.wap.news.news.New; yixun.wap.news.news.New; class invalid for deserialization<br />
&nbsp;这段错误，就是说需要放入mencache里的对象，是需要进行序列化的。<br />
<br />
<img src ="http://www.blogjava.net/jzone/aggbug/291371.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jzone/" target="_blank">Gavin.lee</a> 2009-08-16 18:28 <a href="http://www.blogjava.net/jzone/articles/291371.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java-danga-MemCached 入门介绍</title><link>http://www.blogjava.net/jzone/articles/279907.html</link><dc:creator>Gavin.lee</dc:creator><author>Gavin.lee</author><pubDate>Wed, 03 Jun 2009 14:42:00 GMT</pubDate><guid>http://www.blogjava.net/jzone/articles/279907.html</guid><description><![CDATA[java-danga-memcahced <br />
服务端互不通讯的分布式<br />
内置内存存储方式
<img src ="http://www.blogjava.net/jzone/aggbug/279907.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jzone/" target="_blank">Gavin.lee</a> 2009-06-03 22:42 <a href="http://www.blogjava.net/jzone/articles/279907.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>