91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

redis——應用場景歸納,redis的用途

發布時間:2020-07-12 10:38:33 來源:網絡 閱讀:8852 作者:_Mr_Computer_ 欄目:開發技術

在“怎樣讓Redis在你的系統中發揮作用”一文中,Salvatore 'antirez’ Sanfilippo告訴我們如何利用Redis獨有的數據結構處理能力來解決一些常見問題。一些Redis原語命令比如LPUSH、LTRIM和LREM等等能夠用來幫助開發者完成需要的任務——這些任務在傳統的數據庫存儲中非常困難或緩慢。這是一篇非常有用并且實際的文章。那么要如何在你的框架中完成這些任務呢?

下面列出11種Web應用場景,在這些場景下可以充分的利用Redis的特性,大大提高效率。

1.在主頁中顯示最新的項目列表。

Redis使用的是常駐內存的緩存,速度非常快。LPUSH用來插入一個內容ID,作為關鍵字存儲在列表頭部。LTRIM用來限制列表中的項目數最多為5000。如果用戶需要的檢索的數據量超越這個緩存容量,這時才需要把請求發送到數據庫。

2.刪除和過濾。

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

3.排行榜及相關問題。

排行榜(leader board)按照得分進行排序。ZADD命令可以直接實現這個功能,而ZREVRANGE命令可以用來按照得分來獲取前100名的用戶,ZRANK可以用來獲取用戶排名,非常直接而且操作容易。

4.按照用戶投票和時間排序。

這就像Reddit的排行榜,得分會隨著時間變化。LPUSH和LTRIM命令結合運用,把文章添加到一個列表中。一項后臺任務用來獲取列表,并重新計算列表的排序,ZADD命令用來按照新的順序填充生成列表。列表可以實現非常快速的檢索,即使是負載很重的站點。

5.過期項目處理。

  1. 使用unix時間作為關鍵字,用來保持列表能夠按時間排序。對current_time和time_to_live進行檢索,完成查找過期項目的艱巨任務。另一項后臺任務使用ZRANGE...WITHSCORES進行查詢,刪除過期的條目。

  2. 根據這個特性,支持web項目的session信息的持久化,可以設定超時時間,根據sessionid值來唯一標示,這種用法,我再flask-session的  RedisSessionInterface 提供的redis持久化的接口,php yii框架中,其中也可以使用redis做類似的功能實現.      

6.計數。

進行各種數據統計的用途是非常廣泛的,比如想知道什么時候封鎖一個IP地址。INCRBY命令讓這些變得很容易,通過原子遞增保持計數;GETSET用來重置計數器;過期屬性用來確認一個關鍵字什么時候應該刪除。

7.特定時間內的特定項目。

這是特定訪問者的問題,可以通過給每次頁面瀏覽使用SADD命令來解決。SADD不會將已經存在的成員添加到一個集合。

8.實時分析正在發生的情況,用于數據統計與防止垃圾郵件等。

使用Redis原語命令,更容易實施垃圾郵件過濾系統或其他實時跟蹤系統。

9.Pub/Sub。

在更新中保持用戶對數據的映射是系統中的一個普遍任務。Redis的pub/sub功能使用了SUBSCRIBE、UNSUBSCRIBE和PUBLISH命令,讓這個變得更加容易。 

10.隊列。

在當前的編程中隊列隨處可見。除了push和pop類型的命令之外,Redis還有阻塞隊列的命令,能夠讓一個程序在執行時被另一個程序添加到隊列。你也可以做些更有趣的事情,比如一個旋轉更新的RSS feed隊列。

11.緩存。

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

網絡應用不能無休止地進行模型的戰爭,看看這些Redis的原語命令,盡管簡單但功能強大,把它們加以組合,所能完成的就更無法想象。當然,你可以專門編寫代碼來完成所有這些操作,但Redis實現起來顯然更為輕松。


未完待續...

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永康市| 朝阳区| 尉犁县| 辛集市| 天全县| 肃宁县| 阳泉市| 汾西县| 交口县| 兰坪| 新源县| 德令哈市| 喀什市| 双桥区| 台州市| 乌苏市| 唐河县| 桐乡市| 泽库县| 华容县| 阜新| 湘乡市| 连南| 淳安县| 合山市| 龙井市| 大埔区| 虎林市| 临湘市| 德保县| 区。| 扶风县| 花莲县| 隆德县| 红桥区| 广德县| 镇江市| 阿克| 青铜峡市| 湖南省| 木兰县|