前端緩存 API 接口數(shù)據(jù)腻扇,前端怎么知道數(shù)據(jù)是否變了循狰,該不該取緩存的數(shù)據(jù)呢功氨。
可以采用 HTTP 協(xié)商緩存 ETag 來(lái)實(shí)現(xiàn):
在后臺(tái)每次修改需要緩存的數(shù)據(jù)時(shí)都進(jìn)行一次 hash(當(dāng)然也可以使用其他算法生成唯一標(biāo)識(shí))
將接口地址與 hash 值存為鍵值對(duì)
邏輯大概為:
數(shù)據(jù)沒(méi)有發(fā)生變化祟滴,則接口響應(yīng)304,ETag header不變绿饵,前端仍然用老數(shù)據(jù)
數(shù)據(jù)發(fā)生了變化欠肾,則接口返回新的ETag header和新的數(shù)據(jù),前端對(duì)比新老ETag不一致拟赊,則更新數(shù)據(jù)