什麼業務場景適合使用Redis?
Redis(Remote Dictionary Server ),即遠端字典服務,是一個開源的使用ANSI C語言編寫、支援網路、可基於記憶體亦可持久化的日誌型、Key-Value資料庫,並提供多種語言的API。從2010年3月15日起,Redis的開發工作由VMware主持。從2013年5月開始,Redis的開發由Pivotal贊助。
那麼在什麼業務場景適合使用Redis?來看看下面的詳細介紹:
(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的釋出/訂閱功能來建立聊天系統!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69996644/viewspace-2785523/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 解讀:在什麼業務場景適合使用Redis?Redis
- 什麼場景適合mongodbMongoDB
- Kafka和RabbitMQ有哪些區別,各自適合什麼場景?KafkaMQ
- java程式碼簽名證照適合什麼樣的場景Java
- CDN網路加速適合那些場景使用?
- Redis 中 set 和 hset 有什麼不同,各自使用場景Redis
- Redis使用場景Redis
- ClickHouse(01)什麼是ClickHouse,ClickHouse適用於什麼場景
- Disruptor適合這種場景嗎
- NIO是什麼?適用於何種場景?
- 淺談日本伺服器適合的使用場景伺服器
- 最適合使用RxJava處理的四種場景RxJava
- 聊聊Redis使用場景Redis
- 聊聊 Redis 使用場景Redis
- Redis都有哪些使用場景Redis
- 企業API閘道器適用業務場景API
- 索引設計(組合索引適用場景)索引
- 讓 APISpace 告訴你什麼場景使用什麼APIAPI
- Redis最常用的使用場景Redis
- Redis有哪些常用使用場景?Redis
- Redis - 介紹與使用場景Redis
- Redis 中 BitMap 的使用場景Redis
- 業務流程場景
- SSL代理是什麼?有哪些使用場景?
- NFC是什麼功能?有哪些使用場景?
- 深度分析Redis分散式鎖在電商超賣業務場景下的使用Redis分散式
- 面試官:Kafka是什麼,它有什麼特性與使用場景?面試Kafka
- 面試官:ElasticSearch是什麼,它有什麼特性與使用場景?面試Elasticsearch
- 面試官:RocketMQ是什麼,它有什麼特性與使用場景?面試MQ
- 面試官:Zookeeper是什麼,它有什麼特性與使用場景?面試
- RISE with SAP是什麼?適合哪些企業使用!
- Java適合什麼人學?Java
- 不同業務場景使用不同的map
- Redis 資料結構使用場景Redis資料結構
- 什麼是MongoDB,它的優勢和不足以及適用場景是什麼?MongoDB
- 海外SSL代理是什麼?都有哪些使用場景?
- 阿里雲伺服器ECS適合哪些場景?阿里伺服器
- Spark適用於哪些場景?不適用於哪些場景?Spark