Ehcache高并发在项目中的应用

我们在项目开发中,有些数据常常用到,而又不需要经常去更新它,我们就会想到了使用缓存来保存这些数据,已提高我们对这些数据的读取速度,因此本文使用ehcache来解决这个问题,EhcacheUtil 能有效的防止高并发。

ehcache的jar包下载地址为:http://ehcache.org/downloads/destination?name=ehcache-2.9.0-distribution.tar.gz&bucket=tcdistributions&file=ehcache-2.9.0-distribution.tar.gz ,下载后引用lib目录下的ehcache-2.9.0.jar、slf4j-api-1.7.7.jar、slf4j-jdk14-1.7.7.jar。


1、EhcacheUtil 类

/**
 * 高并发解析:
 * 1、当一个线程获取了某一Key的Read锁之后,其它线程获取针对于同一个Key的Read锁不会受到限制,
 * 但其它线程(包括获取了该Key的Read锁的线程)如果想获取针对同一个Key的Write锁就不行,它需要等到针对于该Key的Read锁释放后才能获取其Write锁;
 * 2、当一个线程获取了某一Key的Write锁之后,其它线程获取同一个Key的Read锁或者Write锁的请求将等待针对于该Key的Write锁释放后才能继续进行,
 * 但是同一个线程获取该Key对应的Read锁或者Write锁将不需要等待。
 * 获取了对应的锁之后,不再需要该锁后释放该锁,以免引起死锁。
 */
public class EhcacheUtil {

	private static final String PATH = "/ehcache.xml";
	
	private static final String CACHE_NAME = "productEhcache";

	private CacheManager manager;

	private static EhcacheUtil ehCache;

	private EhcacheUtil(String path) {
		URL url = getClass().getResource(path);
		manager = CacheManager.create(url);
	}

	/**
	 * 获取缓存实例,配置文件路径“src/ehcache.xml”
	 * @return
	 */
	public static EhcacheUtil getInstance() {
		if (ehCache 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值