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