Memcachedの使い方
WindowsでのMemcacheインストール
多くのphperはWindowsの下でMemcacheの開発デバッグ環境をどのように構築するか分からないが、最近個人もMemcacheを研究し、自分で構築をインストールする過程を記録している.実は私がMemcacheを研究し始めた时、memcached for Win 32という鸟のものがあることを知らなかったので、CnetOSの下で1日振り回してやっとできました.今日突然Windowsの下のMemcacheが开発デバッグを行っても全然问题がないことに気づき、Memcacheのドキュメントを书いて皆さんに共有しました.
WindowsでのMemcacheインストール:1.memcacheのwindows安定版をダウンロードして、あるディスクの下に解凍して、例えばc:memcached 2.端末(すなわちcmdコマンドインタフェース)に「c:memcachedmemcached」と入力.exe-d install’インストール3.再入力:'c:memcachedmemcached.exe-d start’が起動します.NOTE:今後memcachedはwindowsのサービスとして起動するたびに自動的に起動します.これでサーバ側のインストールが完了しました.4.php_memcache.dllをダウンロードし、対応するphpバージョンのファイルを自分で探してください.C:winntphp.ini行‘extension=php_を追加memcache.dll’6.Apacheを再起動し、phpinfoを確認します.memcacheがあれば、インストールに成功しました.
memcachedの基本設定:
-pリスニングのポート-l接続のIPアドレスで、デフォルトは自機-d startがmemcachedサービスを起動-d restartがmemcachedサービスを再開-d stop|shutdownが実行中のmemcachedサービスを閉じる-d installがmemcachedサービスをインストール-d uninstallがmemcachedサービス-uをアンインストールして実行する(rootで実行する場合のみ有効)-m最大メモリ使用、単位MB.デフォルト64 MB-Mメモリ消費時にエラーが返されます.アイテム-cの最大同時接続数を削除するのではなく、デフォルトは1024-fブロックサイズの増加係数、デフォルトは1.25-n最小分配空間、key+value+flagsデフォルトは48-h表示ヘルプです.
多くのphperはWindowsの下でMemcacheの開発デバッグ環境をどのように構築するか分からないが、最近個人もMemcacheを研究し、自分で構築をインストールする過程を記録している.実は私がMemcacheを研究し始めた时、memcached for Win 32という鸟のものがあることを知らなかったので、CnetOSの下で1日振り回してやっとできました.今日突然Windowsの下のMemcacheが开発デバッグを行っても全然问题がないことに気づき、Memcacheのドキュメントを书いて皆さんに共有しました.
WindowsでのMemcacheインストール:1.memcacheのwindows安定版をダウンロードして、あるディスクの下に解凍して、例えばc:memcached 2.端末(すなわちcmdコマンドインタフェース)に「c:memcachedmemcached」と入力.exe-d install’インストール3.再入力:'c:memcachedmemcached.exe-d start’が起動します.NOTE:今後memcachedはwindowsのサービスとして起動するたびに自動的に起動します.これでサーバ側のインストールが完了しました.4.php_memcache.dllをダウンロードし、対応するphpバージョンのファイルを自分で探してください.C:winntphp.ini行‘extension=php_を追加memcache.dll’6.Apacheを再起動し、phpinfoを確認します.memcacheがあれば、インストールに成功しました.
memcachedの基本設定:
-pリスニングのポート-l接続のIPアドレスで、デフォルトは自機-d startがmemcachedサービスを起動-d restartがmemcachedサービスを再開-d stop|shutdownが実行中のmemcachedサービスを閉じる-d installがmemcachedサービスをインストール-d uninstallがmemcachedサービス-uをアンインストールして実行する(rootで実行する場合のみ有効)-m最大メモリ使用、単位MB.デフォルト64 MB-Mメモリ消費時にエラーが返されます.アイテム-cの最大同時接続数を削除するのではなく、デフォルトは1024-fブロックサイズの増加係数、デフォルトは1.25-n最小分配空間、key+value+flagsデフォルトは48-h表示ヘルプです.
package com.xuanyou;
import java.util.Date;
import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;
public class MemCachedManager {
//
protected static MemCachedClient mcc = new MemCachedClient();
protected static MemCachedManager memCachedManager = new MemCachedManager();
//
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);
}
/**
* , !
*
*/
protected MemCachedManager() {
}
/**
* .
*
* @return
*/
public static MemCachedManager getInstance() {
return memCachedManager;
}
/**
* .
*
* @param key
* @param value
* @return
*/
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);
}
/**
* .
*
* @param key
* @return
*/
public Object get(String key) {
return mcc.get(key);
}
public static void main(String[] args) {
MemCachedManager cache = MemCachedManager.getInstance();
cache.add("hello", 234);
System.out.print("get value : " + cache.get("hello"));
}
}
public static void main(String[] args) {
MemCachedManager cache = MemCachedManager.getInstance();
TBean tb = new TBean();
tb.setName("E ");
cache.add("bean", tb);
TBean tb1 = (TBean) cache.get("bean");
System.out.println("name=" + tb1.getName());
tb1.setName("E _ ");
cache.replace("bean", tb1);
tb1 = (TBean) cache.get("bean");
System.out.println("name=" + tb1.getName());