閱讀更多

11頂
0踩

研發管理

轉載新聞 Redis 在現實世界的 5 個用法

2018-04-11 11:19 by 副主編 jihong10102006 評論(3) 有54859人瀏覽
Redis是一個強大的內存數據結構存儲,包含數據庫,緩存和消息代理等多種用途。大多數人經常認為它不過是一個簡單的鍵值存儲,但其實它有更多的能力。下面我將會總結一些Redis可以做的事情的真實例子。

1.全頁面緩存

首先是整頁緩存。如果你正在使用服務器端呈現的內容,則不需要為每個單獨的請求重新渲染每個頁面。使用如Redis這樣的緩存,你可以緩存經常請求的內容,從而大大減少請求最多的頁面的延遲,并且大多數框架針對Redis緩存頁面都有hooks。
簡單命令
/ Set the page that will last 1 minuteSET key "<html>...</html>" EX 60// Get the pageGET key

2.排行榜

Redis令人耀眼的地方之一就是排行榜。由于Redis在內存中,因此可以非常快速和高效地處理遞增和遞減。將此與每個請求運行SQL查詢比較,性能收益巨大!這與Redis的排序集相結合意味著你可以以毫秒為單位抓取列表中評分最高的項目,而且實現起來非常容易。
簡單命令
// Add an item to the sorted setZADD sortedSet 1 "one"http:// Get all items from the sorted setZRANGE sortedSet 0 -1// Get all items from the sorted set with their score
ZRANGE sortedSet 0 -1 WITHSCORES

3.會話Session存儲

我所見的Redis最常見的用途是會話存儲。與其他會話存儲(如Memcache)不同,Redis可以保留數據,以便在緩存停止的情況下,在重新啟動時,所有數據仍然存在。即便不是需要嚴格持續的任務,此功能仍可以為你的用戶省去大量的麻煩。沒有人會樂于見到他們的會話被無緣無故隨機刪掉。
簡單命令
// Set session that will last 1 minuteSET randomHash "{userId}" EX 60// Get userIdGET randomHash

4.隊列

使用Redis可以做的一個不太常見,但非常有用的事情是排隊。無論是電子郵件隊列還是其他應用程序使用的數據,你都可以在Redis中創建一個高效的隊列。任何熟悉堆棧以及會push和pop項目的開發人員都可以輕松自然地使用此功能。
簡單命令
// Add a Message
HSET messages <id> <message>ZADD due <due_timestamp> <id>// Recieving Message
ZRANGEBYSCORE due -inf <current_timestamp> LIMIT 0 1
HGET messages <message_id>// Delete  Message
ZREM due <message_id>HDEL messages <message_id>

5.pub/sub

Redis在真實世界的最終用法即我將在這篇文章中提出的pub / sub。這是Redis內置的最強大的功能之一;得到的可能是無限的。你可以創建一個實時聊天系統,在社交網絡上觸發好友請求的通知等等。這個功能是Redis提供的最被低估的功能之一,但功能非常強大,而且使用簡單。
簡單命令
// Add a message to a channelPUBLISH channel message// Recieve messages from a channelSUBSCRIBE channel

結論

我希望你會喜歡這些Redis在真實世界的使用。雖然這篇文章只抓住了Redis能為你做的事情的表面,但是我希望你能從中獲得應如何充分利用Redis的啟發。
  • 大小: 14.4 KB
來自: 代碼技巧
11
0
評論 共 3 條 請登錄后發表評論
3 樓 hongyabing 2018-05-02 15:25
2 樓 andy54321 2018-04-13 14:48
redis很強大。
尤其是結合 redis sentinel 和 3.x后支持 的 redis cluster。
1 樓 masuweng 2018-04-12 15:03
  

發表評論

您還沒有登錄,請您登錄后再發表評論

相關推薦

  • Redis5個使用場景

    Redis5個使用場景 Redis是一個強大的內存數據結構存儲,包含數據庫,緩存和消息代理等多種用途。大多數人經常認為它不過是一個簡單的鍵值存儲,但其實它有更多的能力。下面我將會總結一些Redis可以做的事情的真實例子。 1.全頁面緩存 首先是整頁緩存。如果你正在使用服務器端呈現的內容,則不需要為每個單獨的請求重新渲染每個頁面。使用如Redis這樣的緩存,你可以緩存

  • redis——redis持久化處理

    Redis持久性Redis主要分為三種持久性策略:1、RDB持久性:以指定的時間間隔執行數據集的時間點快照。2、AOF持久性:記錄服務器接收到的每個寫入操作,這些操作將在服務器啟動時再次執行,重建原始數據集。使用與Redis協議本身相同的格式以追加方式記錄命令。Redis可以在日志變得太大時在后臺重寫日志。3、AOF+RDB:混合式瞎雞兒亂用。RDB的優點RDB是Redis數據的非常緊湊的單文件時...

  • Redis實戰經驗及使用場景

    隨著應用對高性能需求的增加,NoSQL逐漸在各大名企的系統架構中生根發芽。這里我們將為大家分享社交巨頭新浪微博、傳媒巨頭Viacom及圖片分享領域佼佼者Pinterest帶來的Redis實踐,首先我們看新浪微博@啟盼cobain的Redis實戰經驗分享: 新浪微博:史上最大的Redis集群 Tape is Dead,Disk is Tape,Flash is Disk,RAM Lo...

  • Redis應用場景

    1. MySql+Memcached架構的問題   實際MySQL是適合進行海量數據存儲的,通過Memcached將熱點數據加載到cache,加速訪問,很多公司都曾經使用過這樣的架構,但隨著業務數據量的不斷增加,和訪問量的持續增長,我們遇到了很多問題:   1.MySQL需要不斷進行拆庫拆表,Memcached也需不斷跟著擴容,擴容...

  • redis應用場景及實例

    前言 Redis是一個開源的使用ANSI C語言編寫、支持網絡、可基于內存亦可持久化的日志型、Key-Value數據庫,并提供多種語言的API。在這篇文章中,我們將闡述 Redis 最常用的使用場景,以及那些影響我們選擇的不同特性。 Redis5 個常見使用場景 1、會話緩存(Session Cache) 最常用的一種使用Redis的情景是會話緩存(session cache)。用R...

  • 詳解 Redis 應用場景及應用實例

    1. MySql+Memcached架構的問題 2. Redis常用數據類型 3. 各種數據類型應用和實現方式 4. Redis實際應用場景

  • Redis 5. redis的持久化

    Redis @Author:hanguixian @Email:[email protected]redis的持久化 官網介紹:https://redis.io/topics/persistence RDB的優勢(google翻譯) RDB是Redis數據的一個非常緊湊的單文件時間點表示。RDB文件非常適合備份。例如,您可能希望在最近24小時內每小時歸檔您的RDB文件,并...

  • Redis——redis配置與優化

    文章目錄一、關系數據庫與非關系型數據庫1、關系型數據庫2、非關系型數據庫二、 Redis 簡介1、Redis的應用場景2、Redis的優點三、Redis 安裝部署1、安裝Redis2、配置參數四、Redis 命令工具1. redis-cli 命令行工具2、redis-benchmark 測試工具五、Redis 數據庫常用命令1、key 相關命令2. 多數據庫常用命令六、Redis持久化1、持久化概...

  • Redis 在PHP中的使用筆記

    ? 背景 Redis 對于程序開發者來說,擁有很大的優勢,能學好這些重點知識一定能提高我們的能力,所以閑時充充電多加了解,在此做一點筆記. 當然,其中的內容參考了很多的教學視頻以及文章,可以從后面推薦的鏈接所了解到,畢竟筆記比較簡單化,主要用于自己的備忘參考,也歡迎批評指摘. ? 概念 建議閱讀一下文章:【為什么要誓死學好 Redis ?】 前期學習推薦: ...

  • redis之父的博客翻譯-Redis中的LRU算法改進

    redis通常使用緩存,是使用一種固定最大內存的使用。當數據達到可使用的最大固定內存時,我們需要通過移除老數據來獲取空間。redis作為緩存是否有效的重要標志是如何尋找一種好的策略:刪除即將需要使用的數據是一種糟糕的策略,而刪除那些很少再次請求的數據則是一種好的策略。 在其他的緩存組件還有個命中率,僅僅表示讀請求的比例。訪問一個緩存中的keys通常不是分布式的。然而訪問經常變化,這意味著不經常訪問

  • Redis 3.0官方文檔

    Redis 3.0官方文檔 轉自 ?http://powersoft.iteye.com/blog/2153858 集群(上) 這篇文檔是對Redis集群的介紹,沒有使用復雜難懂的東西來理解分布式系統的概念。本文提供了如何建立,測試和操作一個集群的相關指導,但沒有涉及在Redis集群規范(參考本系列其他文章,譯者注)中的諸多細節,只是從用戶的視角來描述系統是如何運作的。 注

  • 學Python后到底能干什么?網友:我太難了

    感覺全世界營銷文都在推Python,但是找不到工作的話,又有哪個機構會站出來給我推薦工作? 筆者冷靜分析多方數據,想跟大家說:關于超越老牌霸主Java,過去幾年間Python一直都被寄予厚望。但是事實是雖然上升趨勢,但是國內環境下,一時間是無法馬上就超越Java的,也可以換句話說:超越Java只是時間問題罷。 太囂張了會Python的人!找工作拿高薪這么簡單? https://edu....

  • 在中國程序員是青春飯嗎?

    今年,我也32了 ,為了不給大家誤導,咨詢了獵頭、圈內好友,以及年過35歲的幾位老程序員……舍了老臉去揭人家傷疤……希望能給大家以幫助,記得幫我點贊哦。 目錄: 你以為的人生 一次又一次的傷害 獵頭界的真相 如何應對互聯網行業的「中年危機」 一、你以為的人生 剛入行時,拿著傲人的工資,想著好好干,以為我們的人生是這樣的: 等真到了那一天,你會發現,你的人生很可能是這樣的: ...

  • Auto.JS實現抖音,刷寶等刷視頻app,自動點贊,自動滑屏,自動切換視頻

    Auto.JS實現抖音,刷寶等刷視頻app,自動點贊,自動滑屏,自動切換視頻 代碼如下 auto(); var appName=rawInput("","刷寶短視頻"); launchApp(appName); sleep("5000"); setScreenMetrics(1080,1920); toast("1023732997"); sleep("3000"); var num = 200...

  • 畢業5年,我問遍了身邊的大佬,總結了他們的學習方法

    我問了身邊10個大佬,總結了他們的學習方法,原來成功都是有跡可循的。

  • 推薦10個堪稱神器的學習網站

    每天都會收到很多讀者的私信,問我:“二哥,有什么推薦的學習網站嗎?最近很浮躁,手頭的一些網站都看煩了,想看看二哥這里有什么新鮮貨。” 今天一早做了個惡夢,夢到被老板辭退了。雖然說在我們公司,只有我辭退老板的份,沒有老板辭退我這一說,但是還是被嚇得 4 點多都起來了。(主要是因為我掌握著公司所有的核心源碼,哈哈哈) 既然 4 點多起來,就得好好利用起來。于是我就挑選了 10 個堪稱神器的學習網站,推...

  • Java校招入職華為,半年后我跑路了

    何來 我,一個雙非本科弟弟,有幸在 19 屆的秋招中得到前東家華為(以下簡稱 hw)的賞識,當時秋招簽訂就業協議,說是入了某 java bg,之后一系列組織架構調整原因等等讓人無法理解的神操作,最終畢業前夕,被通知調往其他 bg 做嵌入式開發(純 C 語言)。 由于已至于校招末尾,之前拿到的其他 offer 又無法再收回,一時感到無力回天,只得默默接受。 畢業后,直接入職開始了嵌入式苦旅,由于從未...

  • 新來個技術總監,禁止我們使用Lombok!

    我有個學弟,在一家小型互聯網公司做Java后端開發,最近他們公司新來了一個技術總監,這位技術總監對技術細節很看重,一來公司之后就推出了很多"政策",比如定義了很多開發規范、日志規范、甚至是要求大家統一使用某一款IDE。 但是這些都不是我這個學弟和我吐槽的點,他真正和我吐槽的是,他很不能理解,這位新來的技術總監竟然禁止公司內部所有開發使用Lombok。但是又沒給出十分明確的,可以讓人信服的理由。 于...

  • 大學四年,因為知道這些開發工具,我成為別人眼中的大神

    親測全部都很好用,自己開發都離不開的軟件,如果你是學生可以看看,提前熟悉起來。

  • 在三線城市工作爽嗎?

    我是一名程序員,從正值青春年華的 24 歲回到三線城市洛陽工作,至今已經 6 年有余。一不小心又暴露了自己的實際年齡,但老讀者都知道,我駐顏有術,上次去看房子,業務員肯定地說:“小哥肯定比我小,我今年還不到 24。”我只好強顏歡笑:“你說得對。” 從我擁有記憶到現在進入而立之年,我覺得,我做過最明智的選擇有下面三個: 1)高中三年,和一位女同學保持著算不上朋友的冷淡關系;大學半年,把這位女同學追到...

Global site tag (gtag.js) - Google Analytics 开心农场种蔬菜赚钱 江西多乐彩前三直选最大遗漏 王中王精选一肖一码 2013年欧冠决赛 辉煌棋牌官方网站 22选5万能4码选号法 普通家庭怎样抗通胀 神来棋牌旧版 捕鱼达人单机无限金币apk 温州熟客麻将游戏茶苑 30选5怎么算中奖 新希望股票 真人网上棋牌 四肖期期中准白小姐 经典老版单机麻将游 九游棋牌游戏大厅怎么进不去 捕鱼来了手机最新辅助