Memcached期限切れテスト!


長い間探していましたが、うまく表現できるコードが見つからなかったので、自分でDEMOを書いてテストしてみました.
	public static void main(String[] args) throws InterruptedException {
		// TODO Auto-generated method stub
		MemCachedClient mcc = MemcacheManager.getInstance();
		mcc.flushAll();
		for(int i=0;i<100000000;i++)
		{
			Object dd = mcc.get("A_LEE");
			if(MemcacheManager.getCacheString("A","LEE")==null){
				System.out.println(" LEE - CACHE! :"+ new Date());
				MemcacheManager.addCache("A", "LEE", "19850311", 3);
				Thread.sleep(1000);
			}
			else
			{
				System.out.println(" !Sleep 1 , :"+ MemcacheManager.getCacheString("A", "LEE"));
				Thread.sleep(1000);
			}
		}
	}

 
出力:
 LEE - CACHE! (UnixTimeStamp):Fri Sep 30 01:55:31 CST 2011
 !Sleep 1 , :19850311
 !Sleep 1 , :19850311
 !Sleep 1 , :19850311
 
まとめ:Memcached.addのExpired TIMEはDate()形式で、現在の時間を参照物+Xとしてキャッシュ判定を行います!この例では、Memcachedを管理クラスにしましたが、実はMCCのインスタンスパッケージです.
 
注意したいのは、Memcacheメモリは消去されず、内部タグだけです!これによりmallocateの回数を低減し、効率を向上させ、同時に内部にlatest useの原則を持つアルゴリズムがメモリをよく管理します!