首頁  >  問答  >  主體

redis的list类型做分页索引的排序问题

我做了一个list来做id的索引,一个hash存储具体的数据

list

key value
lists app_id:12
lists app_id:13
lists app_id:14

hash

key field value
app_id:12 app_name 天气预报
app_sort 1
app_id:13 app_name 游戏推荐
app_sort 3
app_id:14 app_name 新闻评论
app_sort 2

我之前是lrange操作list获得相关的app_id,然后去hash使用getall获得具体的数据
现在加了个排序的功能,暂时没有相关思路,不知道怎么处理???

PHP中文网PHP中文网2758 天前669

全部回覆(2)我來回復

  • 高洛峰

    高洛峰2017-04-22 09:02:34

    雷雷

    回覆
    0
  • 迷茫

    迷茫2017-04-22 09:02:34

    nosql本質上跟關聯式資料庫是有區別的,
    hash就是原始數據,
    你這個list就相當於叢集索引,
    如有要排序,就必須遍歷數據,然後記憶體裡排序,然後輸出,事實上mysql也是這麼做的,
    但是mysql為何快呢?
    因為有索引,
    所以只要加上索引即可,
    新建一個key,類型為zset或list,
    zset方便些,list必須定期刷新,
    先從zset或list取出id,然後去hash裡取出資料。
    當然也可以直接把資料轉換成json,存在zset或list裡。

    回覆
    0
  • 取消回覆