第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

redis可以對key排序嗎

redis可以對key排序嗎

皈依舞 2019-04-16 16:46:10
hsetuser:1score100hsetuser:2socre101hsetuser:3score200hsetuser:4score201要找出socre最高的user,應該如何設計。
查看完整描述

2 回答

?
慕勒3428872

TA貢獻1848條經(jīng)驗 獲得超6個贊

hset是不能直接排序的。有替代方案可以實現(xiàn)相當于hset排序的效果,即利用sort功能。sort一般只能對list,set和zset排序,不過可以變通一下。sort的使用方式如下:
SORTkey[BYpattern][LIMIToffsetcount][GETpattern[GETpattern...]][ASC|DESC][ALPHA][STOREdestination]
注意它的by和store兩個參數(shù)。by用于確定按照什么字段進行排序,store則能夠把排序結(jié)果存到一個list中。你可以先把所有的hash鍵存到一個set中,比如說,這個set的鍵名為myhashes,然后按照set中每個元素(即每個hash)的score域進行排序,最后把排序結(jié)果存到鍵名為myresult的list中。這里的排序結(jié)果當然就是set中所有元素(即所有hash鍵)的鍵名了,用GET參數(shù)加#就能得到set中所有元素的鍵名,寫出來就是這樣:
SORTmyhashesBY*->scoreGET#STOREmyresult
SORT會用myhashes中的每個值(即每個hash鍵名)替換BY參數(shù)中的*,并根據(jù)->后面給出的字段獲取其值,最后根據(jù)這些字段值對myhashes中的每個值進行排序。這樣,myresult中就是已經(jīng)按照score排好序的hash鍵名了。
最后,我看你的hash設計有點問題。hash比較像sql數(shù)據(jù)庫的一行,有多個域,每個域有相應的值。如果你只是一個score域,可以考慮用zset。
                            
查看完整回答
反對 回復 2019-04-16
  • 2 回答
  • 0 關注
  • 362 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號