亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

memcached client1.6使用文檔

系統 1642 0

一個例子

官方網站 http://www.whalin.com/memcached/

==============
假設我們有3臺memcached 服務器,server1 和server2 有3GB 的內存空間,server3 有2GB 的內存空間.下面程序說明怎么來創建客戶端.

        
          import
        
         com.danga.MemCached.*;
        

public class MyClass {

// 創建一個 memcached 客戶端對象

protected static MemCachedClient mcc = new MemCachedClient();

// 創建 memcached連接池

static

{ // 指定memcached服務地址
String [] servers =
{ "server1.mydomain.com:1121" , "server2.mydomain.com:1121" , "server3.mydomain.com:1121" };
// 指定memcached服務器負載量
Integer [] weights ={ 3, 3, 2 };
// 從連接池獲取一個連接實例

SockIOPool pool = SockIOPool.getInstance();

// 設置服務器和服務器負載量

pool.setServers( servers );

pool.setWeights( weights );

// 設置一些基本的參數

//設置初始連接數5 最小連接數 5 最大連接數 250

//設置一個連接最大空閑時間6小時

pool.setInitConn( 5 );

pool.setMinConn( 5 );

pool.setMaxConn( 250 );

pool.setMaxIdle( 1000 * 60 * 60 * 6 );

// 設置主線程睡眠時間

// 每隔30秒醒來 然后

// 開始維護 連接數大小

pool.setMaintSleep( 30 );

// 設置tcp 相關的樹形

// 關閉nagle算法

// 設置 讀取 超時3秒鐘 set the read timeout to 3 secs

// 不設置連接超時

pool.setNagle( false );

pool.setSocketTO( 3000 );

pool.setSocketConnectTO( 0 );

// 開始初始化 連接池

pool.initialize();

// 設置壓縮模式

//如果超過64k壓縮數據

mcc.setCompressEnable( true );

mcc.setCompressThreshold( 64 * 1024 );

}

public static void examples() {

mcc.set( "foo" , "This is a test String " );

String bar = mcc.get( "foo" );

}

}

MemCachedClient 類 常用的方法說明

創建 client對象 設置參數:

MemCachedClient mc = new MemCachedClient();

//壓縮模式
mc.setCompressEnable(true);

// 如果 cache數據 大于4 KB 就啟用壓縮
mc.setCompressThreshold(4096);

// 基本類型tostring方法
// 通常不需要設置
mc.setPrimitiveAsString(true);

存儲一個對象:

        MemCachedClient mc = 
        
          new
        
         MemCachedClient();
        

String key = "cacheKey1" ;

Object value = SomeClass.getObject();

mc.set(key, value);

用客戶端hashcode 存儲一個對象:


        MemCachedClient mc = 
        
          new
        
         MemCachedClient();
        

String key = "cacheKey1" ;

Object value = SomeClass.getObject();

Integer hash = new Integer (45);

mc.set(key, value, hash);

set方法:在cache中存儲一個指定對象

add 和replace 方法功能差不多

add -- 如果不存在 這個key的對象,將會存儲一個對象到cache中
replace --只有當存在指定key對象的時候 會覆蓋已有對象

刪除一個對象:

        MemCachedClient mc = 
        
          new
        
         MemCachedClient();
        

String key = "cacheKey1" ;

mc.delete(key);

結合hashcode 刪除一個對象:

        MemCachedClient mc = 
        
          new
        
         MemCachedClient();
        

String key = "cacheKey1" ;

Integer hash = new Integer (45);

mc.delete(key, hashCode);

怎么cache計數,增 減計數:

        MemCachedClient mc = 
        
          new
        
         MemCachedClient();
        

String key = "counterKey" ;

mc.storeCounter(key, new Integer (100));

System .out.println( "counter after adding 1: " mc.incr(key));

System .out.println( "counter after adding 5: " mc.incr(key, 5));

System .out.println( "counter after subtracting 4: " mc.decr(key, 4));

System .out.println( "counter after subtracting 1: " mc.decr(key));

利用客戶端的hashcode存儲計數 增減 計數:

        MemCachedClient mc = 
        
          new
        
         MemCachedClient();
        

String key = "counterKey" ;

Integer hash = new Integer (45);

mc.storeCounter(key, new Integer (100), hash);

System .out.println( "counter after adding 1: " mc.incr(key, 1, hash));

System .out.println( "counter after adding 5: " mc.incr(key, 5, hash));

System .out.println( "counter after subtracting 4: " mc.decr(key, 4, hash));

System .out.println( "counter after subtracting 1: " mc.decr(key, 1, hash));

獲取一個對象:

        MemCachedClient mc = 
        
          new
        
         MemCachedClient();
        

String key = "key" ;

Object value = mc.get(key);

用客戶端hashcode獲取一個對象:

        MemCachedClient mc = 
        
          new
        
         MemCachedClient();
        

String key = "key" ;

Integer hash = new Integer (45);

Object value = mc.get(key, hash);

從cache 中獲取多個對象

        MemCachedClient mc = 
        
          new
        
         MemCachedClient();
        

String [] keys ={ "key" , "key1" , "key2" };Mapvalues = mc.getMulti(keys);

用客戶端hashcode() 從cache中獲取多個對象

        MemCachedClient mc = 
        
          new
        
         MemCachedClient();
        
String [] keys = { "key" , "key1" , "key2" };


Integer [] hashes =
{ new Integer (45), new Integer (32), new Integer (44) };


Map< Object > values = mc.getMulti(keys, hashes);


清空所有的對象

        MemCachedClient mc = 
        
          new
        
         MemCachedClient();
        

mc.flushAll();

得到服務器memcached的狀態信息

        MemCachedClient mc = 
        
          new
        
         MemCachedClient();
        

Map stats = mc.stats();

注意點

1:Failover/Failback

當一個memcached服務器失效的時候客戶端默認會failover另一個服務去.

如果失效的服務器 恢復運行,客戶端會返回到原來連接的服務器.
如果你不想用這個功能 設置下面的參數
pool.setFailover( false );
pool.setFailback( false );

2:序列化

Boolean

Byte
String
Character
StringBuffer
StringBuilder
Short
Long
Double
Float
Date
java默認的類型沒有實現序列化 可以設置
mcc.setPrimitiveAsString( true )替代.

Meetup.com實踐過程中得出的一個經驗 ,項目中model 對象implement
Externalizable 實現序列化,可以節省cache 對象的大小。從而節省網絡帶寬和內存空間。

出處:http://hqman.blog.bokee.net/bloggermodule/blog_printEntry.do?id=980314

memcached client1.6使用文檔


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 天天夜天干天天爽 | 午夜视频网站在线观看 | 亚欧aⅴ天堂在线 | 一区二区不卡在线观看 | 国产精品一区二区手机看片 | 久久精热 | 久久伊伊香蕉综合精品 | 天天做天天爱夜夜想毛片 | 97av在线视频 | 天天搞夜夜 | 成人国产mv免费视频 | 99热久久这里只有精品 | 99视频有精品视频免费观看 | 884hutv四虎永久黄网 | 日本人xxxxxxx中国 | 夜夜爽天天狠狠九月婷婷 | 九九在线偷拍视频在线播放 | 欧美一级全部免费视频 | 按摩毛片| 欧美午夜精品一区二区三区 | a级毛片在线视频免费观看 a级免费网站 | 国产欧美一区二区精品性色 | 中文字幕专区在线亚洲 | 国产精品亚洲欧美日韩一区在线 | 私人影院免费 | 99re7在线精品免费视频 | 亚洲综合色秘密影院秘密影院 | 成人在线精品视频 | 成人午夜毛片 | 99视频在线免费看 | 亚洲国产精品日韩在线观看 | 天天做天天欢天天爽 | 国产男女爱视频在线观看 | 99国产在线视频 | 亚洲香蕉久久一区二区三区四区 | 天天干天天天天 | 91在线看视频 | 久久久精品久久久久久 | 亚洲 自拍 另类 制服在线 | 日本高清免费毛片久久看 | 亚洲精品综合欧美一区二区三区 |