【CDP-雲設計模式】第7章,3.內存中DB緩存模式(Inmemory DB Cache Pattern)

1.要解決的問題

  大部分的數據庫工作負載在於讀數據。由此,可以通過提升數據庫的讀取性能來全面提升系統性能。

2.雲模式的說明

  您可以使用此模式,通過將常用數據緩存在內存數據中來提升數據庫的讀取性能。這項技術將使用過的數據置於緩存中,那麼在下次使用時這些數據可以直接從內存中讀取(而不是從硬盤讀取)。在數據庫操作中,一些耗時查詢的結果、複雜計算的結果等等都是典型的緩存數據類型。

3.實施

  AWS中的“ElastiCache”是一種數據緩存服務。這項服務提供了在發生故障時自動恢復的功能。

  • 準備數據緩存。可以使用ElastiCache,也可以在EC2實例中使用開源的memcached。

  • 當讀取數據時,會先在緩存中查找數據。如果緩存中沒有所需數據,會從數據庫中讀取數據,並將數據保存在緩存中。

4.配置

圖1

5.好處

  • 可以使用高速緩存來減少數據庫的讀取負載,從而提高整個系統的性能。

  • 可以使用ElastiCache簡化操作,而且ElastiCache應對故障的能力也很強。

6.注意事項

  • 在緩存查詢結果時需要做一些權衡。對相關表的特定查詢的讀寫比例很重要。例如,當引用特別頻繁(每分鐘多次),而數據更新並不多(每天甚至每小時)時,那麼緩存會很有價值。另一方面,需要防止陳舊數據殘留在緩存中。參考信息:http://highscalability.com/bunch-great-strategies-using-memcached-and-mysql-better-together

  • 使用緩存可能需要您修改訪問數據庫的程序。

7.Q&A

Q1:實施中,除了可以使用ElastiCache,還可以使用開源的memcached。這裏的memcached是什麼?

A1:Memcached是高性能的,分佈式的內存對象緩存系統,用於在動態應用中減少數據庫負載,提升訪問速度。Memcached由Danga Interactive開發,用於提升LiveJournal.com訪問速度的。LJ每秒動態頁面訪問量幾千次,用戶700萬。Memcached將數據庫負載大幅度降低,更好的分配資源,更快速訪問。

發佈了77 篇原創文章 · 獲贊 23 · 訪問量 30萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章