關(guān)于redis的幾件小事(三)redis的數(shù)據(jù)類型與使用場景

1.string

這是最基本的類型了册着,就是普通的set和get,做簡單的kv緩存脾歧。

2.hash

這個是類似map的一種結(jié)構(gòu)甲捏,這個一般就是可以將結(jié)構(gòu)化的數(shù)據(jù),比如一個對象(前提是這個對象沒嵌套其他的對象)給緩存在redis里鞭执,然后每次讀寫緩存的時候摊鸡,可以就操作hash里的某個字段。

key=150

value={
  “id”: 150,
  “name”: “zhangsan”,
  “age”: 20
}

hash類的數(shù)據(jù)結(jié)構(gòu)蚕冬,主要是用來存放一些對象免猾,把一些簡單的對象給緩存起來,后續(xù)操作的時候囤热,你可以直接僅僅修改這個對象中的某個字段的值

value={
  “id”: 150,
  “name”: “zhangsan”,
  “age”: 21
}

3.list

有序列表猎提,這個是可以做很多不同操作的
比如:微博,某個大v的粉絲旁蔼,就可以以list的格式放在redis里去緩存

key=某大v

value=[zhangsan, lisi, wangwu]

比如:可以通過list存儲一些列表型的數(shù)據(jù)結(jié)構(gòu)锨苏,類似粉絲列表了、文章的評論列表了之類的東西

比如:可以通過lrange命令棺聊,就是從某個元素開始讀取多少個元素伞租,可以基于list實現(xiàn)分頁查詢,這個很棒的一個功能限佩,基于redis實現(xiàn)簡單的高性能分頁葵诈,可以做類似微博那種下拉不斷分頁的東西,性能高祟同,就一頁一頁走

比如:可以搞個簡單的消息隊列作喘,從list頭懟進(jìn)去,從list尾巴那里弄出來

4.set

無序集合晕城,自動去重

直接基于set將系統(tǒng)里需要去重的數(shù)據(jù)扔進(jìn)去泞坦,自動就給去重了,如果你需要對一些數(shù)據(jù)進(jìn)行快速的全局去重砖顷,你當(dāng)然也可以基于jvm內(nèi)存里的HashSet進(jìn)行去重贰锁,但是如果你的某個系統(tǒng)部署在多臺機(jī)器上呢?

得基于redis進(jìn)行全局的set去重

可以基于set玩兒交集滤蝠、并集豌熄、差集的操作,比如交集吧几睛,可以把兩個人的粉絲列表整一個交集房轿,看看倆人的共同好友是誰?對吧

把兩個大v的粉絲都放在兩個set中,對兩個set做交集

5.sorted set

排序的set囱持,去重但是可以排序夯接,寫進(jìn)去的時候給一個分?jǐn)?shù),自動根據(jù)分?jǐn)?shù)排序纷妆,這個可以玩兒很多的花樣盔几,最大的特點是有個分?jǐn)?shù)可以自定義排序規(guī)則

比如說你要是想根據(jù)時間對數(shù)據(jù)排序,那么可以寫入進(jìn)去的時候用某個時間作為分?jǐn)?shù)掩幢,人家自動給你按照時間排序了

排行榜:將每個用戶以及其對應(yīng)的什么分?jǐn)?shù)寫入進(jìn)去逊拍,zadd board score username,接著zrevrange board 0 99际邻,就可以獲取排名前100的用戶芯丧;zrank board username,可以看到用戶在排行榜里的排名

zadd board 85 zhangsan
zadd board 72 wangwu
zadd board 96 lisi
zadd board 62 zhaoliu

96 lisi
85 zhangsan
72 wangwu
62 zhaoliu

zrevrange board 0 3

獲取排名前3的用戶

96 lisi
85 zhangsan
72 wangwu

zrank board zhaoliu

4
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末世曾,一起剝皮案震驚了整個濱河市缨恒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌轮听,老刑警劉巖骗露,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異血巍,居然都是意外死亡萧锉,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進(jìn)店門述寡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來柿隙,“玉大人,你說我怎么就攤上這事辨赐∮欧” “怎么了?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵掀序,是天一觀的道長。 經(jīng)常有香客問我惭婿,道長不恭,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任财饥,我火速辦了婚禮换吧,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘钥星。我一直安慰自己沾瓦,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著贯莺,像睡著了一般风喇。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上缕探,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天魂莫,我揣著相機(jī)與錄音,去河邊找鬼爹耗。 笑死耙考,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的潭兽。 我是一名探鬼主播倦始,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼山卦!你這毒婦竟也來了楣号?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤怒坯,失蹤者是張志新(化名)和其女友劉穎炫狱,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體剔猿,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡视译,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了归敬。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片酷含。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖汪茧,靈堂內(nèi)的尸體忽然破棺而出椅亚,到底是詐尸還是另有隱情,我是刑警寧澤舱污,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布呀舔,位于F島的核電站,受9級特大地震影響扩灯,放射性物質(zhì)發(fā)生泄漏媚赖。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一珠插、第九天 我趴在偏房一處隱蔽的房頂上張望惧磺。 院中可真熱鬧,春花似錦捻撑、人聲如沸磨隘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽番捂。三九已至个唧,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間白嘁,已是汗流浹背坑鱼。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留絮缅,地道東北人鲁沥。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像耕魄,于是被迫代替她去往敵國和親画恰。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,044評論 2 355

推薦閱讀更多精彩內(nèi)容