Memcached期限切れテスト!
1283 ワード
長い間探していましたが、うまく表現できるコードが見つからなかったので、自分でDEMOを書いてテストしてみました.
出力:
まとめ:Memcached.addのExpired TIMEはDate()形式で、現在の時間を参照物+Xとしてキャッシュ判定を行います!この例では、Memcachedを管理クラスにしましたが、実はMCCのインスタンスパッケージです.
注意したいのは、Memcacheメモリは消去されず、内部タグだけです!これによりmallocateの回数を低減し、効率を向上させ、同時に内部にlatest useの原則を持つアルゴリズムがメモリをよく管理します!
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の原則を持つアルゴリズムがメモリをよく管理します!