關聯式資料庫是大多數應用程式的基礎。不過,在可擴展性和低延遲方面,您可能無法大幅提升效能。即使您新增複本以擴展讀取數,磁碟式儲存體仍存在強制物理限制。應對此限制的最有效策略是在記憶體內快取中增補磁碟式資料庫。

在本教學中,您將學習如何透過將記憶體內快取層新增到關聯式資料庫,提升您的應用程式效能。您使用 Amazon ElastiCache for Redis,以 MySQL 資料庫為基礎實作另行快取策略。另行快取策略是提升資料庫效能的最常見選項之一。當應用程式需要從資料庫讀取資料時,其首先要查詢快取。如果找不到資料,則應用程式將查詢資料庫並使用結果填入快取。如果在基礎資料庫中修改了相關記錄,那麼讓快取失效的方式將有很多,但在本教學中,我們將使用 Redis 提供的存留時間 (TTL) 過期功能。

在本教學中建立的 ElastiCache for Redis 節點和 MySQL 資料庫符合 AWS 免費方案的資格。

使用 Amazon ElastiCache for Redis 實作另行快取

時間:120 分鐘

費用:符合免費方案資格

使用案例:快取、擴展、高可用性、即時應用程式

產品:Amazon ElastiCache for Redis、Amazon RDS MySQL 和 AWS 免費方案

對象:開發人員

等級:初級到中級

上次更新日期:2019 年 7 月 25 日

*此預估費用假設您在整個教學中遵循建議的組態,並在 2 小時內終止所有資源。

**過去 24 小時內建立的帳戶可能還無法存取本專案所需的資源。

請撥冗 20 分鐘時間用以完成先決條件部分。 

本教學藉由以 Python 編寫的範例來說明一些機制,進而闡述了某些快取技術。希望程式碼易於翻譯成您所選擇的語言。

您需要存取 EC2 執行個體以完成本教學。若尚未取得,則依操作說明佈建。

存取 EC2 執行個體後,執行以下命令: 

$ sudo yum install git -y
$ sudo yum install mysql -y
$ sudo yum install python3 -y
$ pip3 install --user virtualenv
$ git clone https://github.com/aws-samples/amazon-elasticache-samples/
$ cd amazon-elasticache-samples/database-caching
$ virtualenv venv
$ source ./venv/bin/activate
$ pip3 install -r requirements.txt

現在可開始教學。