閱讀更多

11頂
0踩

研發管理

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

2018-04-11 11:19 by 副主編 jihong10102006 評論(3) 有57789人瀏覽
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在實際項目中的應用

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 想起自己以前想把Redis整合到JavaWeb項目中,網上搜了很多教程都不全面,現在我終于弄明白了,所以想在這分享一下。1.Redis的安裝我這里就不講了,網上有很多教程,windows,Linux,我自己的是搭建在服

  • Redis應用場景

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

  • 《三天給你聊清楚redis》第1天先嘮嘮redis是個啥(18629字)

    后端需要知道的關于redis的事,基本都在這里了。 此文后續會改為粉絲可見,所以喜歡的請提前關注。 你的點贊和評論是我創作的最大動力,謝謝。 1、入門 Redis是一款基于鍵值對的NoSQL數據庫,它的值支持多種數據結構: 字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)等。 ? Redis將所有的數據都存放在內存中,

  • Redis 5. redis的持久化

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

  • Redis實戰經驗及使用場景

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

  • redis——redis持久化處理

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

  • redis streams_如何在Redis Streams中使用消費者組

    redis streams Roshan Kumar是Redis Labs的高級產品經理。 Redis Streams是Redis 5.0中引入的新數據結構,可讓您創建和管理數據流。 在上一篇文章中 ,我展示了如何向流中添加數據,以及如何以多種方式讀取數據。 在本文中,我將解釋如何在Redis Streams中使用使用者組。 消費者組是一種在多個客戶端之間分配消息流以加快處理速度或減輕較慢...

  • redis keys命令 (24個)

    Redis 版本:3.2.100 Redis 命令 Redis 命令用于在 redis 服務上執行操作。 要在 redis 服務上執行命令需要一個 redis 客戶端。 一.客戶端連接服務器   基本語法: redis-cli [-h host -p port -a password]?   不帶參數,則默認連接本地,帶上三個參數,則連接遠程服務器。   舉例:?如何連接到主機

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

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

  • Redis的安裝與配置

    Redis的安裝與配置一、Redis簡介二、下載Redis三、Windows環境安裝3.1 Windows安裝redis3.2 Windows設置Redis服務四、Linux環境安裝4.1 上傳解壓縮方式4.2 聯網下載安裝方式4.3 redis安裝報錯問題匯總4.3.1 編譯失敗——gcc版本問題五、配置文件簡單說明5.1 redis.conf配置文件六、Redis 命令6.1 redis服務查看相關命令6.1.1 查看Redis是否正在運行6.2 redis操作命令七、Redis桌面可視化工具安裝7.1

  • 程序員的MySQL學習寶典

    <p> 程序員的必經之路! </p> <p> 【限時優惠】 </p> <p> <br> </p> <p> 現在下單,還享四重好禮:<br> 1、教學課件免費下載<br> 2、課程案例代碼免費下載<br> 3、專屬VIP學員群免費答疑<br> 4、下單還送800元編程大禮包 </p> <p> <br> </p> <p> 【超實用課程內容】? </p> <p> 根據《2019-2020年中國開發者調查報告》顯示,超83%的開發者都在使用MySQL數據庫。使用量大同時,掌握MySQL早已是運維、DBA的必備技能,甚至部分IT開發崗位也要求對數據庫使用和原理有深入的了解和掌握。 學習編程,你可能會猶豫選擇 C++ 還是 Java;入門數據科學,你可能會糾結于選擇 Python 還是 R;但無論如何, MySQL 都是 IT 從業人員不可或缺的技能!? </p> <p> <br> </p> <p> ?套餐中一共包含2門MySQL數據庫必學的核心課程(共98課時)? </p> <p> ?課程1:《MySQL數據庫從入門到實戰應用》? </p> <p> ?課程2:《高性能MySQL實戰課》? </p> <p> <br> </p> <p> ?【哪些人適合學習這門課程?】? </p> <p> 1)平時只接觸了語言基礎,并未學習任何數據庫知識的人;? </p> <p> 2)對MySQL掌握程度薄弱的人,課程可以讓你更好發揮MySQL最佳性能; </p> <p> 3)想修煉更好的MySQL內功,工作中遇到高并發場景可以游刃有余; </p> <p> 4)被面試官打破沙鍋問到底的問題問到懷疑人生的應聘者。 </p> <p> <br> </p> <p> 【課程主要講哪些內容?】 </p> <p> 課程一:<span>《MySQL數據庫從入門到實戰應用》 主要從基礎篇,SQL語言篇、MySQL進階篇三個角度展開講解,幫助大家更加高效的管理MySQL數據庫。</span> </p> <p> <br> </p> <p> <img src="https://img-bss.csdnimg.cn/202006261532354009.png" alt=""> </p> <p> <br> </p> <p> 課程二:《高性能MySQL實戰課》主要從高可用篇、MySQL8.0新特性篇,性能優化篇,面試篇四個角度展開講解,幫助大家<span>發揮MySQL的最佳性能的優化方法,<span>掌握如何處理海量業務數據和高并發請求</span></span> </p> <p> <br> </p> <p> <img src="https://img-bss.csdnimg.cn/202006261533103261.png" alt=""> </p> <p> <br> </p> <p> 【你能收獲到什么?】? </p> <p> 1.基礎再提高,針對MySQL核心知識點學透,用對; </p> <p> 2.能力再提高,日常工作中的代碼換新貌,不怕問題; </p> <p> 3.面試再加分,巴不得面試官打破沙鍋問到底,競爭力MAX。 </p> <p> <br> </p> <p> 【課程如何觀看?】? </p> <p> 1、登錄CSDN學院 APP 在我的課程中進行學習; </p> <p> 2、移動端:CSDN 學院APP(注意不是CSDN APP哦)? </p> <p> 本課程為錄播課,課程永久有效觀看時長 【資料開放】 課件、課程案例代碼完全開放給你,你可以根據所學知識,自行修改、優化。? </p> <p> 下載方式:電腦登錄課程觀看頁面,點擊右側課件,可進行課程資料的打包下載。 </p>

  • PingFangSC字體下載

    PingFangSC,PingFang-SC-Thin,PingFang-SC-Regular,PingFang-SC-Medium,PingFangSC-Light,PingFangSC-Mediu

  • 從零開始學scrapy網絡爬蟲

    課程目標 《從零開始學Scrapy網絡爬蟲》從零開始,循序漸進地介紹了目前流行的網絡爬蟲框架Scrapy。即使你沒有任何編程基礎,學習起來也不會有壓力,因為我們有針對性地介紹了Python編程技術。另外,《從零開始學Scrapy網絡爬蟲》在講解過程中以案例為導向,通過對案例的不斷迭代、優化,讓讀者加深對知識的理解,并通過14個項目案例,提高學習者解決實際問題的能力。 適合對象 爬蟲初學者、爬蟲愛好者、高校相關專業的學生、數據爬蟲工程師。 課程介紹 《從零開始學Scrapy網絡爬蟲》共13章。其中,第1~4章為基礎篇,介紹了Python基礎、網絡爬蟲基礎、Scrapy框架及基本的爬蟲功能。第5~10章為進階篇,介紹了如何將爬蟲數據存儲于MySQL、MongoDB和Redis數據庫中;如何實現異步AJAX數據的爬取;如何使用Selenium和Splash實現動態網站的爬取;如何實現模擬登錄功能;如何突破反爬蟲技術,以及如何實現文件和圖片的下載。第11~13章為高級篇,介紹了使用Scrapy-Redis實現分布式爬蟲;使用Scrapyd和Docker部署分布式爬蟲;使用Gerapy管理分布式爬蟲,并實現了一個搶票軟件的綜合項目。 ? ? ? 由于目標網站可能會對頁面進行改版或者升級反爬蟲措施,如果發現視頻中的方法無法成功爬取數據,敬請按照頁面實際情況修改XPath的路徑表達式。視頻教程主要提供理論、方法支撐。我們也會在第一時間更新源代碼,謝謝! 課程特色

  • Visio_2016

    visio_2016下載安裝,親測可用,不需要破解,而且無秘鑰。簡單方便實用

  • 玩轉Linux:常用命令實例指南

    人工智能、物聯網、大數據時代,Linux正有著一統天下的趨勢,幾乎每個程序員崗位,都要求掌握Linux。本課程零基礎也能輕松入門。 本課程以簡潔易懂的語言手把手教你系統掌握日常所需的Linux知識,每個知識點都會配合案例實戰讓你融匯貫通。課程通俗易懂,簡潔流暢,適合0基礎以及對Linux掌握不熟練的人學習; 【限時福利】 1)購課后按提示添加小助手,進答疑群,還可獲得價值300元的編程大禮包! 2)本月購買此套餐加入老師答疑交流群,可參加老師的免費分享活動,學習最新技術項目經驗。 --------------------------------------------------------------- 29元=掌握Linux必修知識+社群答疑+講師社群分享會+700元編程禮包。 &nbsp;

  • Java學習指南(Java入門與進階)

    這是Java學習指南系列課程的第1篇,介紹Java語言的入門語法,引領希望學習Java語言編程的初學者進入Java大門。 本課程不需要其他語言作為基礎,可以直接學習。 課程從Java開發平臺的下載和安裝開始,從淺到深、從易到難,循序漸進地進行語法講解。 為了讓學員更好的掌握Java語言,本課程配套在線的Java題庫及答案解析。 相比于其他語言,Java語言更科學、更容易掌握,快來和大家一起學習Java吧。

  • Python數據清洗實戰入門

    本次課程主要以真實的電商數據為基礎,通過Python詳細的介紹了數據分析中的數據清洗階段各種技巧和方法。

  • HoloLens2開發入門教程

    本課程為HoloLens2開發入門教程,講解部署開發環境,安裝VS2019,Unity版本,Windows SDK,創建Unity項目,講解如何使用MRTK,編輯器模擬手勢交互,打包VS工程并編譯部署應用到HoloLens上等。

  • Python入門視頻精講

    Python入門視頻培訓課程以通俗易懂的方式講解Python核心技術,Python基礎,Python入門。適合初學者的教程,讓你少走彎路! 課程內容包括:1.Python簡介和安裝 、2.第一個Python程序、PyCharm的使用 、3.Python基礎、4.函數、5.高級特性、6.面向對象、7.模塊、8.異常處理和IO操作、9.訪問數據庫MySQL。教學全程采用筆記+代碼案例的形式講解,通俗易懂!!!

Global site tag (gtag.js) - Google Analytics 开心农场种蔬菜赚钱 广东快乐十分彩结果 江西快三走势图表i 体育彩票飞鱼开奖记录 安徽快3正规吗 广西快三开奖结果今天推荐 周二体彩开什么彩票 青海快三预测一定牛 甘肃11选5遗漏号技巧 澳客网七星彩专家杀号 上海11选5前3杀号技巧 甘肃快三开奖走势今天 股票指数是什么东西 加拿大快乐8开奖网址 湖北11选5遗漏手机版 3d试机号30期 河南快3形态走势一定牛