redis做到二維排序的方法:
可以利用SortedSet實現二維排序,在SortedSet中可以通過ZRANGE命令實現升序排列,而降序排列是需要通過命令ZREVRANGE實現,用法示例如下:
假設有5個app的下載量和最后更新時間分別如下:
wechat-下載量:12000000,最后更新時間:1564022201;其score為:12000000.1564022201
qq-下載量:12000000,最后更新時間:1564022222;其score為:12000000.1564022222
tiktok-下載量:9808900,最后更新時間:1563552267;其score為:9808900.1563552267
taobao-下載量:11006600,最后更新時間:1564345601;其score為:11006600.1564345601
alipay-下載量:11006600,最后更新時間:1564345600;其score為:11006600.1564345600
通過以下命令將這5個APP用SortedSet數據類型保存到Redis中:
zadd TopApp 12000000.1564022201 wechat 12000000.1564022222 qq 9808900.1563552267 tiktok 11006600.1564345601 taobao 11006600.1564345600 alipay
保存后,查看排序結果:
127.0.0.1:6379> zrevrange TopApp 0 -1
1) "qq"
2) "wechat"
3) "taobao"
4) "alipay"
5) "tiktok"