国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > Redis > 正文

Redis的11種Web應(yīng)用場景簡介

2020-03-17 12:41:41
字體:
供稿:網(wǎng)友
一些Redis原語命令比如LPUSH、LTRIM和 LREM等等能夠用來幫助開發(fā)者完成需要的任務(wù)——這些任務(wù)在傳統(tǒng)的數(shù)據(jù)庫存儲(chǔ)中非常困難或緩慢。這是一篇非常有用并且實(shí)際的文章。那么要如何在你的框架中完成這些任務(wù)呢?
 

下面列出11種Web應(yī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í)才需要把請求發(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í)間排序。對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

在更新中保持用戶對數(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)爭,看看這些Redis的原語命令,盡管簡單但功能強(qiáng)大,把它們加以組合,所能完成的就更無法想象。當(dāng)然,你可以專門編寫代碼來完成所有這些操作,但Redis實(shí)現(xiàn)起來顯然更為輕松。



注:相關(guān)教程知識(shí)閱讀請移步到Redis頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 托里县| 洪洞县| 蕲春县| 神农架林区| 辽宁省| 睢宁县| 崇礼县| 南阳市| 梁河县| 石景山区| 济阳县| 芦山县| 门头沟区| 阜平县| 沐川县| 澄城县| 麟游县| 竹溪县| 老河口市| 山东| 玉环县| 中山市| 曲周县| 信阳市| 建昌县| 惠来县| 崇阳县| 兖州市| 忻州市| 申扎县| 嘉峪关市| 广平县| 黄平县| 班戈县| 宜阳县| 牡丹江市| 新竹县| 海门市| 澄迈县| 秀山| 巴彦淖尔市|