溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

redis索引怎么實(shí)現(xiàn)的

發(fā)布時(shí)間:2020-05-09 14:23:58 來(lái)源:億速云 閱讀:2480 作者:小新 欄目:關(guān)系型數(shù)據(jù)庫(kù)

今天小編給大家分享的是redis索引怎么實(shí)現(xiàn)的,相信很多人都不太了解,為了讓大家更加了解redis索引,所以給大家總結(jié)了以下內(nèi)容,一起往下看吧。一定會(huì)有所收獲的哦。

redis并不直接支持索引,需要通過(guò)自己來(lái)維護(hù)。

對(duì)于非范圍唯一索引,我們可以簡(jiǎn)單的把索引也存成KV對(duì),v保存主key即可,而范圍檢索,或者非唯一索引,則要使用redis 的 zset來(lái)實(shí)現(xiàn)。      

舉例一個(gè)傳統(tǒng)的用戶系統(tǒng)例子

uid 用戶id
name 用戶名
credit 用戶積分
type 類型

可以直接放到一個(gè)hashset中

hmset usr:1 uid 1 name aaa credit 10 type 0
hmset usr:2 uid 2 name bbb credit 20 type 1

通過(guò)uid檢索很快,但是如果要查詢type=1的用戶,則只能全掃描!

在關(guān)系數(shù)據(jù)庫(kù)中,我們可以簡(jiǎn)單在type上建立索引

select * from usr where type=1

這樣的SQL就可以高效執(zhí)行了。redis中需要我們自己再維護(hù)一個(gè)zset

zadd usr.index.type 0 0:1
zadd usr.index.type 0 1:2

注意,所有權(quán)重都設(shè)置成0,這樣可以直接按值檢索,然后可以通過(guò)

zrangebylex usr.index.type [1: (1;

關(guān)于redis索引怎么實(shí)現(xiàn)的就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的參考價(jià)值,可以學(xué)以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI