国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

千萬數(shù)據(jù)redis分頁查詢 redis如何實現(xiàn)多條件分頁查詢?

redis如何實現(xiàn)多條件分頁查詢?程序中要做好分頁邏輯,然后將每頁的數(shù)據(jù)存儲到redis中簡介:實現(xiàn)用戶信息的分頁查詢1。實現(xiàn)思想:列表鍵存儲用戶ID,用于分頁查詢,同時用于查詢用戶總數(shù)。關(guān)鍵是人物。

redis如何實現(xiàn)多條件分頁查詢?

程序中要做好分頁邏輯,然后將每頁的數(shù)據(jù)存儲到redis中

簡介:實現(xiàn)用戶信息的分頁查詢

1。實現(xiàn)思想:列表鍵存儲用戶ID,用于分頁查詢,同時用于查詢用戶總數(shù)。關(guān)鍵是人物。Hset users以以下格式保存用戶詳細(xì)信息:key-->person:userid值-->id[Java]查看純拷貝static jedis jedis=new jedis(“192.168.0.144”)static void saveuser(){string id=new random()。Nextint(10000)”)Map

redis怎么做分頁?

對于具有分頁條件的緩存,可以緩存多個鍵。Page=1&;limit=10和Page=1&;limit=5可以用這種方式緩存

普通分頁

普通分頁是用來直接緩存并逐頁放入緩存的,但是這種緩存方式有很多缺點。

如果無法及時更新緩存,則一旦數(shù)據(jù)更改,所有以前的分頁緩存都將無效。

例如,在像微博這樣的場景中,微博下有排名靠前的次數(shù)。這在傳統(tǒng)的分頁中很難處理。

一個主意

最近,我想到了另一個主意。

數(shù)據(jù)緩存在redis中,ID為key;

數(shù)據(jù)ID和排序得分保存在redis的skip list中,即Zset;

查找數(shù)據(jù)時,首先從redis的skip list中提取相應(yīng)的分頁數(shù)據(jù),得到ID list。

使用multi-get一次從redis獲取ID列表中的所有數(shù)據(jù)。如果有缺少某個ID的數(shù)據(jù),將從數(shù)據(jù)庫中搜索并返回給用戶,搜索到的數(shù)據(jù)將按ID緩存在redis中

在最后一步,您可以有一些提示:

例如,如果缺少某個ID數(shù)據(jù),首先直接返回給用戶,然后前端使用Ajax請求丟失的ID數(shù)據(jù),然后動態(tài)刷新。

還有一些優(yōu)化可能會將操作與Lua腳本合并,但是考慮到Lua腳本比較慢,您可能需要仔細(xì)測試它們。

如果您使用的是Lua腳本,則可以在一個請求中完成以下操作:

查找頁面上的所有文章,返回緩存文章的ID和內(nèi)容,以及不在緩存中的文章的ID列表。

其他事項:Lua支持LRU模式,類似memcached。但奇怪的是,沒有人這樣使用它。

也許redis已經(jīng)準(zhǔn)備好存儲redis很長時間了,我不擔(dān)心內(nèi)存容量。