使用ehcache做缓存,存储Web数据

          如果我的博客能够帮到大家能够点个赞,关注一下,以后还会更新更过JavaWeb的高级技术,大家的支持就是我继续更新的动力。谢谢。

        做了一个小Demo,如今ehcache喝memcache缓存好像用的都不多,在企业开发中首选使用的都是redis缓存,尽管如此,有时候还是回因为ehcache比较方便,导入配置文件依赖就可以使用,而应用在一些小项目中。操作步骤如下:

          1.首先在web工程src下导入配置文件

 ehcache.xml



    

	
	
	
    
    
	

 2.在Java程序中加入缓存,首先读取得是缓存中得数据,如果缓存中没有数据,在去数据库中去取数据保存到缓存中,然后从缓存中读取出来,展示到页面上,缓存中必须保存得是不经常变化的数据,通常就是一些一些查询操作的数据。

public class ProductServiceImpl implements ProductService{

	@Override
	public List findNew() throws Exception {
		System.out.println("这是NewProducts********************************************");
		//2.查询最新商品 热门商品
		// 3.最新商品 首先查看缓存中是否有最新商品
		// 创建创建缓存管理器
		CacheManager cacheManager = CacheManager.create(ProductServiceImpl.class.getClassLoader().getResourceAsStream("ehcache.xml"));
		// 指定缓存名称
		Cache cache = cacheManager.getCache("newProducts");
		Element newelement = cache.get("newList");
		List newList = null;
		if (newelement == null) {
			// 缓存为空 查询数据库
			ProductDao dao = new ProductDaoImpl();
			newList = dao.findNew();
			// 放入缓存中
			cache.put(new Element("newList", newList));
			System.out.println("商品缓存为空,已经查询数据库放入缓存中");
		} else {
			@SuppressWarnings("unchecked")
			List list = (List) newelement.getObjectValue();
			System.out.println("缓存中保存了商品信息!");
			System.out.println("NewProducts:" + list.toString());
		}
		return newList;
	}

	@Override
	public List findHot() throws Exception {
		System.out.println("这是*******************************************HotProducts商品");
		//4.热门商品	 首先查看缓存中查看是否有热门商品
		CacheManager cacheManager = CacheManager.create(ProductServiceImpl.class.getClassLoader().getResourceAsStream("ehcache.xml"));
		Cache cache = cacheManager.getCache("hotProducts");
		Element hotelement = cache.get("hotList");
		List hotList = null;
		if (hotelement == null) {
			// 缓存为空 查询数据库
			ProductDao dao = new ProductDaoImpl();
			hotList = dao.findHot();
			// 放入缓存中
			cache.put(new Element("hotList", hotList));
			System.out.println("热门商品缓存为空,已经查询数据库放入缓存中");
		} else {
			@SuppressWarnings("unchecked")
			List list = (List) hotelement.getObjectValue();
			System.out.println("缓存中保存了热门商品信息!");
			System.out.println("HotProducts:" + list.toString());
		}
		return hotList;
	}
}

   以上是使用SpringMVC 加入ehcache缓存的一个实例,仅供参考!!!

你可能感兴趣的:(使用ehcache做缓存,存储Web数据)