天天看點

mybatis緩存之LruCache

/**
 * mybatis3 LruCache
 * ---------------------------
 * 
 * {@code LruCache} 的實作和FifoCache的實作思路是一樣的,不同的是key序列的維護資料結構不一樣, {@code LruCache } key的LRU算法維護利用了jdk 
 * {@code LinkedHashMap} 資料結構(請看文檔說明,也提到LRU算法).
 * 
 * 沒有實作鎖功能,不支援并發.
 * 
 * @author doctor {@link https://github.com/doctorwho1986}
 *
 *
 * @time 2015年3月10日
 */
public class LruCachePractice {

	@Test
	public void test_LruCache() {
		LruCache lruCache = new LruCache(new PerpetualCache("test_LruCache"));
		lruCache.setSize(2);
		assertThat(lruCache.getSize(), equalTo(0));

		lruCache.putObject("name", "doctor");
		lruCache.putObject("age", 2000);
		lruCache.putObject("age", 3000);
		lruCache.putObject("age", 29000);
		lruCache.putObject("url", "https://github.com/doctorwho1986");

		assertThat(lruCache.getSize(), equalTo(2));
		assertThat(lruCache.getObject("name"), equalTo(null));
	}
}





           

 

版權聲明:本文為CSDN部落客「weixin_34358365」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。

原文連結:https://blog.csdn.net/weixin_34358365/article/details/92446211