猿问

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获得具体的数据
现在加了个排序的功能,暂时没有相关思路,不知道怎么处理???
慕姐4208626
浏览 354回答 2
2回答

长风秋雁

nosql本质上跟关系数据库是有区别的,hash就是原始数据,你这个list就相当于聚簇索引,如有要排序,就必须遍历数据,然后内存里排序,然后输出,事实上mysql也是这么做的,但是mysql为何快呢?因为有索引,所以只需要加上索引即可,新建一个key,类型为zset或list,zset方便些,list必须定期刷新,先从zset或list取出id,然后去hash里取出数据。当然也可以直接把数据转换成json,存在zset或list里。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答