feature(dom) getDataFromCache: add !hash
refactor(dom) saveDataToCache