Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Diseño de envoltorio de lectura completa compatible con API
Cuando se introduce una capa de almacenamiento en caché en una base de datos de DynamoDB, se suele evitar realizar modificaciones importantes en el código del lado del cliente. Una forma de hacerlo consiste en introducir una clase shim del lado del cliente que agrupe el cliente de DynamoDB y presente la misma interfaz a las personas que llaman. Toda la lógica de almacenamiento en caché está incluida en la clase contenedora y se ejecuta de forma implícita e invisible para la persona que llama.
Por ejemplo, el siguiente ejemplo de código crea un cliente DynamoDB, un cliente (Redis OSS) y ElastiCache una cuña. CacheClient
El shim tiene el aspecto del cliente DynamoDB y lo usa internamente para comunicarse con dynamodb_client
la base de datos y lo usa redis_client
para proporcionar el almacenamiento en caché:
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)
Este enfoque no requiere ningún otro cambio en la aplicación para introducir el almacenamiento en caché.