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表示ヘルプです.
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());