国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
memcached 介紹

memcached client1.6使用文檔

一個例子

官方網(wǎng)站 http://www.whalin.com/memcached/


==============
假設(shè)我們有3臺memcached 服務(wù)器,server1 和server2 有3GB 的內(nèi)存空間,server3 有2GB 的內(nèi)存空間.下面程序說明怎么來創(chuàng)建客戶端.

import com.danga.MemCached.*;

public class MyClass {

// 創(chuàng)建一個 memcached 客戶端對象

protected static MemCachedClient mcc = new MemCachedClient();

// 創(chuàng)建 memcached連接池

static

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

SockIOPool pool = SockIOPool.getInstance();

// 設(shè)置服務(wù)器和服務(wù)器負載量

pool.setServers( servers );

pool.setWeights( weights );

// 設(shè)置一些基本的參數(shù)

//設(shè)置初始連接數(shù)5 最小連接數(shù) 5 最大連接數(shù) 250

//設(shè)置一個連接最大空閑時間6小時

pool.setInitConn( 5 );

pool.setMinConn( 5 );

pool.setMaxConn( 250 );

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

// 設(shè)置主線程睡眠時間

// 每隔30秒醒來 然后

// 開始維護 連接數(shù)大小

pool.setMaintSleep( 30 );

// 設(shè)置tcp 相關(guān)的樹形

// 關(guān)閉nagle算法

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

// 不設(shè)置連接超時

pool.setNagle( false );

pool.setSocketTO( 3000 );

pool.setSocketConnectTO( 0 );

// 開始初始化 連接池

pool.initialize();

// 設(shè)置壓縮模式

//如果超過64k壓縮數(shù)據(jù)

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 類 常用的方法說明

創(chuàng)建 client對象 設(shè)置參數(shù):

MemCachedClient mc = new MemCachedClient();

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

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

// 基本類型tostring方法
// 通常不需要設(shè)置
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);

結(jié)合hashcode 刪除一個對象:

MemCachedClient mc = new MemCachedClient();

String key = "cacheKey1";

Integer hash = new Integer(45);

mc.delete(key, hashCode);

怎么cache計數(shù),增 減計數(shù):

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存儲計數(shù) 增減 計數(shù):

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();

得到服務(wù)器memcached的狀態(tài)信息

MemCachedClient mc = new MemCachedClient();

Map stats = mc.stats();

注意點

1:Failover/Failback

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

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

2:序列化

Boolean

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

Meetup.com實踐過程中得出的一個經(jīng)驗 ,項目中model 對象implement
Externalizable 實現(xiàn)序列化,可以節(jié)省cache 對象的大小。從而節(jié)省網(wǎng)絡(luò)帶寬和內(nèi)存空間。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Memcached安裝、使用、與AOP集成
緩存-MemCache
Java的Memcached客戶端
Memcached通用類
Java 之 Hashtable、HashMap 及 Properties
XMemcached使用指南【一】
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服