使用java調用memcache,獲取數據
1,下載客戶端
下載java客戶端API,實際上是一個jar包。
http://www.danga.com/memcached/apis.bml
memcache支持很多種客戶端調用如:Perl、php、python、Ruby、java、C#、C等等
在java中目前支持兩種客戶端“Java API for memcached”和“Improved Java API for memcached”
我用的是前者,因為它有詳細的說明文檔
下載http://img.whalin.com/memcached/jdk6/standard/java_memcached-release_2.0.1.jar
2,開始用java程序調用memcached
在eclipse中新建一個工程,將上面下載的java_memcached-release_2.0.1.jar引入工程。
新建java類memcachedTest
import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;
public class memcachedTest {
// create a static client as most installs only need
// a single instance
protected static MemCachedClient mcc = new MemCachedClient();
//連接memcache
static{
// set up connection pool once at class load
// server list and weights
String[] servers =
{
"192.168.0.20:11211",
"192.168.0.20:11212"
};
Integer[] weights = { 3,2 };
// grab an instance of our connection pool
SockIOPool pool = SockIOPool.getInstance();
// set the servers and the weights
pool.setServers( servers );
pool.setWeights( weights );
// set some basic pool settings
// 5 initial, 5 min, and 250 max conns
// and set the max idle time for a conn
// to 6 hours
pool.setInitConn( 5 );
pool.setMinConn( 5 );
pool.setMaxConn( 250 );
pool.setMaxIdle( 1000 * 60 * 60 * 6 );
// set the sleep for the maint thread
// it will wake up every x seconds and
// maintain the pool size
pool.setMaintSleep( 30 );
// set some TCP settings
// disable nagle
// set the read timeout to 3 secs
// and don't set a connect timeout
pool.setNagle( false );
pool.setSocketTO( 3000 );
pool.setSocketConnectTO( 0 );
// initialize the connection pool
pool.initialize();
// lets set some compression on for the client
// compress anything larger than 64k
mcc.setCompressEnable( true );
mcc.setCompressThreshold( 64 * 1024 );
}
public static void main(String[] a){
for(int i=0;i<1000;i++){
mcc.set( "Test_"+i, "hello world_"+i);
}
//第一次運行講一下三行注釋,用以上面三行進行數據插入,以后運行就將上面三行注釋,運行下面三行語句來看執行效果。
System.out.println("dd1="+(String)mcc.get( "Test_967"));
System.out.println("dd2="+(String)mcc.get( "Test_984"));
System.out.println("dd3="+(String)mcc.get( "Test_981"));
System.out.println("End");
}
}
網上參考資料:
http://bbs.linuxpk.com/thread-13497-1-1.html
http://www.ccvita.com/257.html
http://www.danga.com/memcached/apis.bml
http://www.whalin.com/memcached/
posted on 2008-10-10 11:34
分享愛的空間 閱讀(2423)
評論(0) 編輯 收藏