• <optgroup id="ccyim"><button id="ccyim"></button></optgroup>
  • 教育行業A股IPO第一股(股票代碼 003032)

    全國咨詢/投訴熱線:400-618-4000

    Redis適合在哪些場景使用?【Java面試】

    更新時間:2021年03月05日15時46分 來源:傳智教育 瀏覽次數:

    好口碑IT培訓

    (1)會話緩存(Session Cache)
    最常用的一種使用Redis的情景是會話緩存(session cache)。用Redis緩存會話比其他存儲(如Mem cached)的優勢在于:Redis提供持久化。當維護一個不是嚴格要求一致性的緩存時,如果用戶的購物車信息全部丟失,大部分人都會不高興的,現在,他們還會這樣嗎?

    幸運的是,隨著Redis這些年的改進,很容易找到怎么恰當的使用Redis來緩存會話的文檔。甚至廣為人知的商業平臺Magento也提供Redis的插件。

    (2)全頁緩存(FPC)

    除基本的會話token之外,Redis 還提供很簡便的FPC平臺。回到一致性問題,即使重啟了Redis實例,因為有磁盤的持久化,用戶也不會看到頁面加載速度的下降,這是一個極大改進,類似PHP本地FPC。

    再次以Magento為例,Magento 提供一個插件來使用Redis 作為全頁緩存后端。

    此外,對WordPress的用戶來說,Pantheon 有一個非常好的插件wp redis,這個插件能幫助你以最快速度加載你曾瀏覽過的頁面。

    (3)隊列

    Reids在內存存儲引擎領域的一-大優點是提供list和set操作,這使得Redis能作為一個很好的消息隊列平臺來使用。Redis作為隊列使用的操作,就類似于本地程序語言(如Python)對list 的push/pop操作。

    如果你快速的在Google中搜索“Redis queues",你馬上就能找到大量的開源項目,這些項目的目的就是利用Redis創建非常好的后端工具,以滿足各種隊列需求。例如,Celery 有一個后臺就是使用Redis作為broker,你可以從這里去查看。

    (4)排行榜/計數器

    Redis在內存中對數字進行遞增或遞減的操作實現的非常好。集合(Set)和有序集合(Sorted Set)也使得我們在執行這些操作的時候變的非常簡單,Redis 只是正好提供了這

    兩種數據結構。所以,我們要從排序集合中獲取到排名最靠前的10個用戶-我們稱之為“user_scores", 我們只需要像下面一樣執行即可:

    當然,這是假定你是根據你用戶的分數做遞增的排序。如果你想返回用戶及用戶的分數,你需要這樣執行:

    ZRANGE user scores 0 10 WITHSCORES

    Agora Games就是一個很好的例子,用Ruby實現的,它的排行榜就是使用Redis來存儲數據的,你可以在這里看到。

    (5)發布/訂閱

    最后(但肯定不是最不重要的)是Redis的發布/訂閱功能。發布/訂閱的使用場景確實非常多。我已看見人們在社交網絡連接中使用,還可作為基于發布/訂閱的腳本觸發器,甚至用Redis的發布/訂閱功能來建立聊天系統!




    下面是傳智教育公開的幾套Java課程,您可以下載和在線觀看學習,如果想深入學習java并想找到不錯的java開發相關工作,建議報班學習傳智教育Java高級軟件工程師課程獲取【Java視頻教程+資料】加播妞1605146928606_課程資料.jpg:2217622915。



    猜你喜歡

    Redis如何實現分布式阻塞隊列?

    SpringBoot整合NoSQL 數據庫(Redis)實現緩存

    redis生成自增長ID教程

    為什么redis可以做緩存?

    Redis 持久化詳細介紹

    傳智教育Java培訓課程

    男女乱婬真视频,波多野结衣中文字幕在观线看,翘着光屁股趴在办公室,欧美做真爱免费A片