Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Desain pembungkus baca-tayang kompatibel dengan API
Saat Anda memperkenalkan lapisan caching ke database DynamoDB, Anda biasanya ingin menghindari modifikasi kode sisi klien yang ekstensif. Salah satu cara untuk melakukannya adalah dengan memperkenalkan kelas shim sisi klien yang membungkus klien DynamoDB dan menyajikan antarmuka yang sama ke peneleponnya. Semua logika caching disertakan dalam kelas pembungkus dan dilakukan secara implisit dan tidak terlihat oleh pemanggil.
Misalnya, contoh kode berikut membangun klien DynamoDB, klien (Redis OSS), ElastiCache dan shim. CacheClient
Shim terlihat seperti klien DynamoDB dan secara internal menggunakan dynamodb_client
untuk berbicara dengan database, dan menggunakan redis_client
untuk menyediakan caching:
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)
Pendekatan ini tidak memerlukan perubahan lain dalam aplikasi untuk memperkenalkan caching.