java对memcached的操作_java對Memcached的基本操作

一、memcached是什么?

許多Web應用都將數據保存到RDBMS中,應用服務器從中讀取數據並在瀏覽器中顯示。但隨着數據量的增大、訪問的集中,就會出現RDBMS的負擔加重、數據庫響應惡化、網站顯示延遲等重大影響。

這時就該memcached大顯身手了。memcached是高性能的分布式內存緩存服務器。一般的使用目的是,通過緩存數據庫查詢結果,減少數據庫訪問次數,以提高動態Web應用的速度、提高可擴展性。

2ac6624d745862e7bcd208e3c03ae70d.png

圖1 一般情況下memcached的用途

二、安裝memcached

1. Memcached-win64 下載:

a. 下載最新版:http://blog.couchbase.com/memcached-windows-64-bit-pre-release-available

b. 直接下載: memcached-win64-1.4.4-14.zip

D:\WampServer\bin\memcached\memcached.exe

3. 在終端(也即cmd命令界面)下輸入以下命令安裝windows服務:

D:\WampServer\bin\memcached>memcached.exe -d install

4. 再輸入下面命令啟動:

D:\WampServer\bin\memcached>memcached.exe -d start

memcached.exe -l 127.0.0.1 -m 32 -d start(配置內存32M)

5.下載java_memcached-release_1.6.zip,解壓后目錄中的java_memcached-release_1.6.jar

復制到java項目的lib目錄下,然后我們可以來編寫代碼了

package com.memcached;

import java.util.Date;

import com.whalin.MemCached.MemCachedClient;

import com.whalin.MemCached.SockIOPool;

public class memcached {

private static MemCachedClient mcc = new MemCachedClient();

private static memcached mc = new memcached();

//設置與緩存服務器的連接池

static{

//服務器列表和其權重

String[] servers = {"127.0.0.1:11211"};

Integer[] weights = {3};

//獲取socke連接池的實例對象

SockIOPool pool = SockIOPool.getInstance();

//設置服務器信息

pool.setServers(servers);

pool.setWeights(weights);

//設置初始連接數、最小和最大連接數以及最大處理時間

pool.setInitConn(5);

pool.setMinConn(5);

pool.setMaxConn(250);

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

//設置主線程的睡眠時間

pool.setMaintSleep(30);

//設置TCP的參數,鏈接超時等

pool.setNagle(false);

pool.setSocketTO(3000);

pool.setSocketConnectTO(0);

//初始化連接池

pool.initialize();

//壓縮設置,超過指定大小(單位為K)的數據都會被壓縮

//mcc.setCompressEnable(true);

//mcc.setCompressThreshold(64*1024);

}

/**

* 構造函數,不允許實例化

* @param args

*/

private memcached(){

}

/**

* 獲取唯一實例

* @param args

*/

public static memcached getInstance(){

return mc;

}

/**

* 添加一個指定的值到緩存中

* @param args

*/

public boolean add(String key,Object value){

return mcc.add(key, value);

}

public boolean add(String key,Object value,Date expiry){

return mcc.add(key, value, expiry);

}

public boolean replace(String key, Object value){

return mcc.replace(key, value);

}

public boolean replace(String key, Object value, Date expiry){

return mcc.replace(key, value, expiry);

}

public Object get(String key){

return mcc.get(key);

}

public static void main(String[] args) {

memcached cache = memcached.getInstance();

//cache.add("hello", 1234);

System.out.println("get value:"+cache.get("hello"));

}

}

結果:

get value:1234

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值