我做了一個list來做id的索引,一個hash存儲具體的數(shù)據(jù)
key | value |
---|---|
lists | app_id:12 |
lists | app_id:13 |
lists | app_id:14 |
key | field | value |
---|---|---|
app_id:12 | app_name | 天氣預(yù)報 |
app_sort | 1 | |
app_id:13 | app_name | 游戲推薦 |
app_sort | 3 | |
app_id:14 | app_name | 新聞評論 |
app_sort | 2 |
我之前是lrange操作list獲得相關(guān)的app_id,然後去hash使用getall獲得具體的數(shù)據(jù)
現(xiàn)在加了個排序的功能,暫時沒有相關(guān)思路,不知道怎麼處理???
認證高級PHP講師
nosql本質(zhì)上跟關(guān)聯(lián)式資料庫是有區(qū)別的,
hash就是原始數(shù)據(jù),
你這個list就相當(dāng)於叢集索引,
如有要排序,就必須遍歷數(shù)據(jù),然後記憶體裡排序,然後輸出,事實上mysql也是這麼做的,
但是mysql為何快呢?
因為有索引,
所以只要加上索引即可,
新建一個key,類型為zset或list,
zset方便些,list必須定期刷新,
先從zset或list取出id,然後去hash裡取出資料。
當(dāng)然也可以直接把資料轉(zhuǎn)換成json,存在zset或list裡。