memcached的安裝以及兩種客戶端

memcache的安裝java

memcached <1.4.5 版本安裝算法

一、解壓下載的安裝包到指定目錄。api

二、在 1.4.5 版本之前 memcached 能夠做爲一個服務安裝,使用管理員權限運行如下命令:緩存

路徑改爲本身的解壓縮路徑memcached

c:\memcached\memcached.exe -d install測試

注意:你須要使用真實的路徑替代 c:\memcached\memcached.exe。spa

三、而後咱們可使用如下命令來啓動和關閉 memcached 服務:命令行

c:\memcached\memcached.exe -d startcode

c:\memcached\memcached.exe -d stopserver

四、若是要修改 memcached 的配置項, 能夠在命令行中執行 regedit.exe 命令打開註冊表並找到 "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached" 來進行修改。

若是要提供 memcached 使用的緩存配置 能夠修改 ImagePath 爲:

"c:\memcached\memcached.exe" -d runservice -m 512

-m 512 意思是設置 memcached 最大的緩存配置爲512M。

此外咱們還能夠經過使用 "c:\memcached\memcached.exe -h" 命令查看更多的參數配置。

五、若是咱們須要卸載 memcached ,可使用如下命令:

c:\memcached\memcached.exe -d uninstall

 

memcached >= 1.4.5 版本安裝

一、解壓下載的安裝包到指定目錄。

二、在 memcached1.4.5 版本以後,memcached 不能做爲服務來運行,須要使用任務計劃中來開啓一個普通的進程,在 window 啓動時設置 memcached自動執行。

咱們使用管理員身份執行如下命令將 memcached 添加來任務計劃表中:

schtasks /create /sc onstart /tn memcached /tr "'c:\memcached\memcached.exe' -m 512"

注意:你須要使用真實的路徑替代 c:\memcached\memcached.exe。

注意:-m 512 意思是設置 memcached 最大的緩存配置爲512M。

注意:咱們能夠經過使用 "c:\memcached\memcached.exe -h" 命令查看更多的參數配置。

三、若是須要刪除 memcached 的任務計劃能夠執行如下命令:

schtasks /delete /tn memcached

 

客戶端一:

須要的jar包

(commons-pool-1.5.6.jar

java_memcached-release_2.6.6.jar

slf4j-api-1.6.1.jar

slf4j-simple-1.6.1.jar)

範例

public class CacheHelper {
    private static MemCachedClient mcc = new MemCachedClient();

    private CacheHelper() {
    }

    static {
        String[] servers = { "地址:端口" };
        Integer[] weights = { 1 };
        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);
        pool.setNagle(false);// 禁用nagle算法
        pool.setSocketConnectTO(0);
        pool.setSocketTO(3000);// 3秒超時
        pool.setHashingAlg(3);// 設置爲一致性hash算法
        pool.initialize();
    }

    public static MemCachedClient getMemCachedClient() {
        return mcc;
    }
}

測試

public class ClientTest {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        MemCachedClient mcc = CacheHelper.getMemCachedClient();
        mcc.add("data1", "12345");
        
        Object obj = mcc.get("data1");
        
        System.out.println(obj);
        
    }

}

客戶端二:

public class MemcachedJava {
   public static void main(String[] args) {
   
      try{
         // 鏈接本地的 Memcached 服務
         MemcachedClient mcc = new MemcachedClient(new InetSocketAddress("地址", 端口號));
         System.out.println("Connection to server sucessful.");
      
         // 存儲數據
         Future fo = mcc.set("set1", 900, "setvalue1");
      
         // 查看存儲狀態
         System.out.println("set status:" + fo.get());
         
         // 輸出值
         System.out.println("value in cache - " + mcc.get("set1"));
 
         // 關閉鏈接
         mcc.shutdown();
         
      }catch(Exception ex){
         System.out.println( ex.getMessage() );
      }
   }
}
相關文章
相關標籤/搜索