API 相容讀取包裝函式設計 - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

API 相容讀取包裝函式設計

當您將快取層引入 DynamoDB 資料庫時,通常想要避免大量的用戶端程式碼修改。其中一種方法是引進用戶端 shim 類別,該類別會包裝 DynamoDB 用戶端,並將相同的界面呈現給呼叫者。所有快取邏輯都包含在包裝函式類別中,並向發起人隱含且隱含地執行。

例如,下列程式碼範例會建構 DynamoDB 用戶端、ElastiCache (Redis OSS) CacheClient 用戶端和 shim。該 shim 看起來像 DynamoDB 用戶端,並在內部使用 dynamodb_client 與資料庫交談,並使用 redis_client提供快取:

dynamodb_client = boto3.client("dynamodb") redis_client = Redis(host='hostname', port=6379, decode_responses=True, ssl=True, read_from_replicas=True) cache_client = CacheClient(dynamodb_client, redis_client, ttl=60*60)

此方法不需要應用程式中的任何其他變更,即可引入快取。