Mybatis 一级缓存设计

创建

public class TransactionalCache implements Cache {

  private Cache delegate;
  private boolean clearOnCommit;
  private Map<Object, AddEntry> entriesToAddOnCommit;
  private Map<Object, RemoveEntry> entriesToRemoveOnCommit;

  public TransactionalCache(Cache delegate) {
    this.delegate = delegate;
    this.clearOnCommit = false;
    this.entriesToAddOnCommit = new HashMap<Object, AddEntry>();
    this.entriesToRemoveOnCommit = new HashMap<Object, RemoveEntry>();
  }


 public void clear() {
    reset();
    clearOnCommit = true;                            //在提交时清楚内存中的缓存
  }

    public void commit() {

      cache.removeObject(key);

    }

  private void reset() {

    clearOnCommit = false;

    entriesToRemoveOnCommit.clear();

    entriesToAddOnCommit.clear();

  }

总结: 

底层就是map

清除缓存 调用clear方法

猜你喜欢

转载自blog.csdn.net/qq_29857681/article/details/80767634