填坑利器?Redis如何彌補傳統MySQL架構的不足
對於技術人來說,Redis最成功的一點就是可以補充和擴充套件生態系統中的其他資料庫。雖然使用新的後端資料庫來替換舊的後端資料庫,往往會被認為風險巨大、價格昂貴,但是原有的資料庫可能很難進行線性擴充套件以滿足使用者需求。
傳統MySQL架構難以滿足的現代應用程式需求包括:
-
傳統資料庫的讀/寫速度對會話儲存等用例不友好;
-
引入新表或修改現有模式非常複雜,這也導致了新增新功能和應用程式會有困難;
-
傳統資料庫會受到每秒可執行操作的數量和併發連線數的限制,所以在資料庫例項增多的情況下,基礎架構和維護成本也會增加。
Redis和傳統資料庫結合會產生哪些化學反應呢?首先,如果應用程式的資料是儲存在MySQL或其它關係型資料庫中,那麼Redis可以作為前端資料庫處於應用程式和MySQL之間;其次,還可以利用Redis來設計旁路讀出式和寫通式快取解決方案、會話儲存和速率限制器,這樣可以提高效能、加速創新,以更少的資源擴充套件來獲得最佳的使用者體驗。
Redis作為“參與型系統”
Redis記憶體中鍵值資料儲存可為使用者提供低延遲響應,其內建的資料結構(例如Lists、Hashes、 Sets、Sorted Sets、Bitmaps、Hyperloglog和Geospatial Indices),較於關係型資料庫能夠更有效地執行某些資料操作。
所以,我們建議在資料訪問層後使用Redis作為“參與型系統”來儲存熱資料,同時將MySQL指定為“記錄系統”。
另外,Redis如果應用於以下用例,那麼就可以規避掉很多可能在原有應用程式、資料庫或網路層中出現的瓶頸:
-
快取:為記憶體訪問提供一個分層模型,Redis中儲存應用程式中常用、重複讀取的資料。快取也可幫助應用程式快速檢索資料並限制資料庫伺服器上的負載。
-
會話儲存:在所有互動式應用程式中,伺服器為每個活動使用者維護一個唯一會話。相比於依賴MySQL等關係型資料庫來持久化會話資料,Redis在具有足夠RAM大小的伺服器上,單個叢集就可以管理數千個會話。
-
實時分析:透過排行榜、儀表板、民意測驗、訊息、計數器和其他實時聚合器進行的遊戲或操作需要與終端使用者進行持續的互動和通訊。而Redis強大、高效的資料結構可以收集和處理數百萬個同時進行的活動或物件,並將其傳送到活動使用者手中。
-
度量:Redis可以透過速率限制應用程式在一定時間內的呼叫次數,幫助開發人員在高峰使用時間內高效地管理傳統伺服器上的負載。
當然,除了上面的用例,Redis在訊息代理、資料結構儲存和臨時資料儲存等用例中表現也很突出。總結一下就是Redis能更快地收集和獲取資料並反饋給終端使用者。再進一步的話,Redis Enterprise提供高可用性、記憶體複製、自動伸縮和重新分片,以及基於前沿CRDT的分散式資料庫和內建Redis模組(如RediSearch、ReJSON、Rebloom和Redis Graph)。
藉助於Redis,我們在傳統解決方案中也可以享受到“即時體驗”,其在效能、靈活性和可擴充套件性方面的優勢值得我們嘗試!
來自 “ https://redislabs.com/blog/redis-mysql-fast-econom ”,原文連結:http://blog.itpub.net/31545814/viewspace-2219383/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何填補友盟分享新浪微博的那些坑
- 亞馬遜的向後工作法可以彌補敏捷不足 -hbr亞馬遜敏捷
- 【花式填坑第4期】 如何成為一個合格的Java架構師Java架構
- AI是如何彌補技術鴻溝的?AI
- 【1分鐘知識點】利用「佔位塊」彌補 space-between 的不足
- mysql的zip版本安裝填坑MySql
- DDD彌補了瀑布和敏捷兩個方法的不足之處! - 47 North Labs敏捷
- pat—結構體排序(用map彌補struct缺陷)結構體排序Struct
- 超融合架構與傳統IT架構的區別架構
- [精選]當PHP遇上Go會怎樣?GO語言彌補了PHP的不足,然後。。。PHPGo
- 填坑Ⅱ
- 微服務架構的優勢與不足微服務架構
- 如何避免前人挖坑,後人填坑
- streamparse 填坑
- 容器架構轉傳統lnmp架構(失敗篇)架構LNMP
- 【object C】ObjectC中如何彌補switch引數不能為字串的方法Object字串
- redis服務環境下mysql如何實現lnmp架構快取RedisMySqlLNMP架構快取
- 設計信創雲架構,如何處理傳統雲架構存與棄的問題?架構
- DDD CQRS架構和傳統架構的優缺點比較架構
- H5拍照上傳填坑彙總H5
- 小程式踩坑填坑
- 如何將傳統 Web 框架遷移部署到 Serverless 架構?Web框架Server架構
- MySQL的架構MySql架構
- 電商系統架構總結2(Redis)架構Redis
- 傳統ESB與SOA架構融合架構
- Flutter 填坑整理Flutter
- vim 填坑之路
- Hibernate填坑
- Elasticsearch 填坑記Elasticsearch
- vue微信填坑Vue
- javascript 填坑史JavaScript
- React 填“坑”記React
- Date填坑記
- 優質教育資源供給不足,風變科技如何以自動化教學技術填補空缺?
- MySQL 主從同步架構中你不知道的“坑”(上)MySql主從同步架構
- compositionEvent組合事件,來填補React input輸入框onchange事件的坑事件React
- 如何利用員工個人資料監控來彌補安全漏洞
- Flutter for web 最新填坑FlutterWeb