千萬(wàn)數(shù)據(jù)redis分頁(yè)查詢 查詢數(shù)據(jù)放入了redis中緩存,怎么查看緩存的數(shù)據(jù)?
查詢數(shù)據(jù)放入了redis中緩存,怎么查看緩存的數(shù)據(jù)?一般的分頁(yè)緩存是直接查找出來(lái),然后逐頁(yè)放入緩存,但是這種緩存方法有很多缺點(diǎn)。如果無(wú)法及時(shí)更新緩存,則一旦數(shù)據(jù)發(fā)生更改,所有以前的分頁(yè)緩存都將無(wú)效。比
查詢數(shù)據(jù)放入了redis中緩存,怎么查看緩存的數(shù)據(jù)?
一般的分頁(yè)緩存是直接查找出來(lái),然后逐頁(yè)放入緩存,但是這種緩存方法有很多缺點(diǎn)。如果無(wú)法及時(shí)更新緩存,則一旦數(shù)據(jù)發(fā)生更改,所有以前的分頁(yè)緩存都將無(wú)效。比如,在微博這樣的場(chǎng)景中,微博下有排名靠前的次數(shù)。這在傳統(tǒng)的分頁(yè)中很難處理。最近一個(gè)想法又出現(xiàn)了另一個(gè)。數(shù)據(jù)緩存在redis中,ID為鍵,數(shù)據(jù)ID和排序得分保存在redis的skip list中,即Zset,在查找數(shù)據(jù)時(shí),從redis的skip list中取出相應(yīng)的分頁(yè)數(shù)據(jù),得到ID list。使用multi-get一次從redis獲取ID列表中的所有數(shù)據(jù)。如果有缺少某個(gè)ID的數(shù)據(jù),則從數(shù)據(jù)庫(kù)中搜索返回給用戶,并按ID將搜索到的數(shù)據(jù)緩存到redis中,最后一步可以給出一些提示:例如,如果缺少某個(gè)ID數(shù)據(jù),則先直接返回給用戶,然后前端使用Ajax請(qǐng)求丟失的ID數(shù)據(jù),然后動(dòng)態(tài)刷新。