Redis的11種Web應(yīng)用場(chǎng)景

下面列出11種Web應(yīng)用場(chǎng)景波丰,在這些場(chǎng)景下可以充分的利用Redis的特性,大大提高效率午磁。

1.在主頁中顯示最新的項(xiàng)目列表

Redis使用的是常駐內(nèi)存的緩存,速度非痴泵牵快迅皇。LPUSH用來插入一個(gè)內(nèi)容ID,作為關(guān)鍵字存儲(chǔ)在列表頭部衙熔。LTRIM用來限制列表中的項(xiàng)目數(shù)最多為5000登颓。如果用戶需要的檢索的數(shù)據(jù)量超越這個(gè)緩存容量,這時(shí)才需要把請(qǐng)求發(fā)送到數(shù)據(jù)庫红氯。

2.刪除和過濾

如果一篇文章被刪除框咙,可以使用LREM從緩存中徹底清除掉咕痛。

3.排行榜及相關(guān)問題

排行榜(leader board)按照得分進(jìn)行排序。ZADD命令可以直接實(shí)現(xiàn)這個(gè)功能扁耐,而ZREVRANGE命令可以用來按照得分來獲取前100名的用戶暇检,ZRANK可以用來獲取用戶排名,非常直接而且操作容易婉称。

4.按照用戶投票和時(shí)間排序

這就像Reddit的排行榜块仆,得分會(huì)隨著時(shí)間變化。LPUSH和LTRIM命令結(jié)合運(yùn)用王暗,把文章添加到一個(gè)列表中悔据。一項(xiàng)后臺(tái)任務(wù)用來獲取列表,并重新計(jì)算列表的排序俗壹,ZADD命令用來按照新的順序填充生成列表科汗。列表可以實(shí)現(xiàn)非常快速的檢索绷雏,即使是負(fù)載很重的站點(diǎn)头滔。

5.過期項(xiàng)目處理

使用unix時(shí)間作為關(guān)鍵字,用來保持列表能夠按時(shí)間排序涎显。對(duì)current_time和time_to_live進(jìn)行檢索坤检,完成查找過期項(xiàng)目的艱巨任務(wù)。另一項(xiàng)后臺(tái)任務(wù)使用ZRANGE...WITHSCORES進(jìn)行查詢期吓,刪除過期的條目早歇。

6.計(jì)數(shù)

進(jìn)行各種數(shù)據(jù)統(tǒng)計(jì)的用途是非常廣泛的,比如想知道什么時(shí)候封鎖一個(gè)IP地址讨勤。INCRBY命令讓這些變得很容易箭跳,通過原子遞增保持計(jì)數(shù);GETSET用來重置計(jì)數(shù)器;過期屬性用來確認(rèn)一個(gè)關(guān)鍵字什么時(shí)候應(yīng)該刪除。

7.特定時(shí)間內(nèi)的特定項(xiàng)目

這是特定訪問者的問題潭千,可以通過給每次頁面瀏覽使用SADD命令來解決谱姓。SADD不會(huì)將已經(jīng)存在的成員添加到一個(gè)集合。

8.實(shí)時(shí)分析正在發(fā)生的情況刨晴,用于數(shù)據(jù)統(tǒng)計(jì)與防止垃圾郵件等

使用Redis原語命令屉来,更容易實(shí)施垃圾郵件過濾系統(tǒng)或其他實(shí)時(shí)跟蹤系統(tǒng)。

9.Pub/Sub

在更新中保持用戶對(duì)數(shù)據(jù)的映射是系統(tǒng)中的一個(gè)普遍任務(wù)割捅。Redis的pub/sub功能使用了SUBSCRIBE奶躯、UNSUBSCRIBE和PUBLISH命令,讓這個(gè)變得更加容易亿驾。

10.隊(duì)列

在當(dāng)前的編程中隊(duì)列隨處可見嘹黔。除了push和pop類型的命令之外,Redis還有阻塞隊(duì)列的命令,能夠讓一個(gè)程序在執(zhí)行時(shí)被另一個(gè)程序添加到隊(duì)列儡蔓。你也可以做些更有趣的事情郭蕉,比如一個(gè)旋轉(zhuǎn)更新的RSS feed隊(duì)列。

11.緩存

Redis緩存使用的方式與memcache相同喂江。

網(wǎng)絡(luò)應(yīng)用不能無休止地進(jìn)行模型的戰(zhàn)爭(zhēng)召锈,看看這些Redis的原語命令,盡管簡(jiǎn)單但功能強(qiáng)大获询,把它們加以組合涨岁,所能完成的就更無法想象。當(dāng)然吉嚣,你可以專門編寫代碼來完成所有這些操作梢薪,但Redis實(shí)現(xiàn)起來顯然更為輕松。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末尝哆,一起剝皮案震驚了整個(gè)濱河市秉撇,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌秋泄,老刑警劉巖琐馆,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異恒序,居然都是意外死亡瘦麸,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門奸焙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瞎暑,“玉大人彤敛,你說我怎么就攤上這事与帆。” “怎么了墨榄?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵玄糟,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我袄秩,道長(zhǎng)阵翎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任之剧,我火速辦了婚禮郭卫,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘背稼。我一直安慰自己贰军,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布蟹肘。 她就那樣靜靜地躺著词疼,像睡著了一般俯树。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上贰盗,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天许饿,我揣著相機(jī)與錄音,去河邊找鬼舵盈。 笑死陋率,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的秽晚。 我是一名探鬼主播翘贮,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼爆惧!你這毒婦竟也來了狸页?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤扯再,失蹤者是張志新(化名)和其女友劉穎芍耘,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體熄阻,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡斋竞,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了秃殉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片坝初。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖钾军,靈堂內(nèi)的尸體忽然破棺而出鳄袍,到底是詐尸還是另有隱情,我是刑警寧澤吏恭,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布拗小,位于F島的核電站,受9級(jí)特大地震影響樱哼,放射性物質(zhì)發(fā)生泄漏哀九。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一搅幅、第九天 我趴在偏房一處隱蔽的房頂上張望阅束。 院中可真熱鬧,春花似錦茄唐、人聲如沸息裸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽界牡。三九已至簿寂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間宿亡,已是汗流浹背常遂。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留挽荠,地道東北人克胳。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像圈匆,于是被迫代替她去往敵國(guó)和親漠另。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

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