Prácticas recomendadas para Memorystore para Redis

En esta página se ofrecen directrices para usar Memorystore para Redis de forma óptima. En esta página también se indican los posibles problemas que debes evitar.

Para ver una lista de posibles problemas, consulta Solución de problemas.

Exportación de RDB

Cuando exportes una copia de seguridad RDB, sigue estas directrices:

Operaciones que consumen muchos recursos

En las instancias de Redis de nivel Estándar, las siguientes operaciones usan memoria adicional durante la operación:

La actualización de la versión, el escalado y la conmutación por error manual usan memoria adicional (en el caso de las instancias de nivel Estándar) debido a la replicación. Estas operaciones siguen el proceso de replicación descrito en Comportamiento de la actualización de instancias del nivel Estándar.

Las operaciones de importación y exportación requieren memoria adicional debido al proceso de Redis bifurcado y a la gestión de datos de copia al escribir asociada a estas operaciones.

Para mitigar los inconvenientes de las operaciones que consumen muchos recursos, debes hacer lo siguiente:

Operaciones y situaciones que requieren reintentar la conexión

Las siguientes operaciones y situaciones interrumpen la conexión de red entre tu red y la instancia de Redis:

Estas operaciones modifican tu instancia, por lo que se requiere una interrupción temporal de la conexión. Debes implementar una lógica de reintento con retroceso exponencial antes de ejecutar estas operaciones para que tu aplicación se vuelva a conectar automáticamente y siga funcionando con normalidad.

Mantenimiento rutinario

Las instancias de Memorystore para Redis se someten a mantenimiento periódicamente. Para obtener más información, consulta la política de mantenimiento de Memorystore para Redis.

Implementa las siguientes prácticas recomendadas para estar preparado para el mantenimiento rutinario:

Gestión de la memoria

La gestión de la memoria puede ser complicada debido a la conocida fragmentación de la memoria que se produce con Redis de código abierto. Te recomendamos que reduzcas la configuración de maxmemory de tu instancia para tener margen en caso de que haya mucha presión de memoria.

La mejor forma de monitorizar la presión de la memoria en tu instancia de Memorystore es usar la métrica Ratio de uso de memoria del sistema. Para obtener una guía más detallada sobre cómo gestionar la memoria de Memorystore para Redis, consulta las prácticas recomendadas para la gestión de memoria.

Gestionar conexiones inactivas

Con el tiempo, es posible que el número de conexiones a tu instancia de Memorystore aumente si las conexiones no se terminan correctamente. Esto puede tener consecuencias negativas en el rendimiento, sobre todo si usas el cifrado en tránsito, que impone límites máximos de conexiones en función de tu nivel de capacidad. Para mitigar este problema, te recomendamos que utilices el timeout parámetro de configuración de Redis que te permite definir el número de segundos que deben transcurrir antes de que se terminen automáticamente las conexiones de cliente inactivas.

Nombres de recursos de Transparencia de acceso

Los datos sensibles no deben almacenarse en nombres de recursos de Memorystore para Redis. Por nombres de recursos, nos referimos a los nombres de las instancias de Memorystore para Redis y a los metadatos de las instancias, como las etiquetas. No se garantiza que los datos almacenados en nombres de recursos estén protegidos por Google Cloud Transparencia de acceso y pueden no cumplir los requisitos de Transparencia de acceso de tu organización.

Se necesita un conector de Acceso a VPC sin servidor para algunos entornos sin servidor

Algunos entornos sin servidor requieren un conector de Acceso a VPC sin servidor para conectarse a Memorystore for Redis. Configura el conector de acceso a VPC sin servidor de tu proyecto si quieres conectarte mediante uno de estos entornos.

Redes

Te recomendamos que uses el modo de conexión Acceso a servicios privados. Memorystore para Redis usa dos modos de conexión: acceso a servicios privados y emparejamiento directo. El modo de conexión de acceso a servicios privados simplifica la gestión de intervalos de IP y te permite usar una VPC compartida si quieres.

Una vez que haya creado una instancia, no podrá cambiar el modo de conexión.

Para obtener más información, consulta Redes.

Monitorización y alertas

Te recomendamos que uses la monitorización y las alertas porque te proporcionan señales clave sobre el uso de memoria de tu instancia de Redis. También te ofrecen información sobre la eficiencia con la que tu instancia de Redis responde a las solicitudes de caché entrantes.

Deberías configurar las siguientes alertas predeterminadas:

Prácticas recomendadas para el uso de la CPU

El uso inadecuado de comandos de Redis caros provoca una latencia alta, falta de respuesta o problemas de conectividad. Las instancias del nivel estándar ofrecen alta disponibilidad durante la recuperación tras fallos y se basan en la replicación asíncrona entre los nodos principal y de réplica. Si uno de los nodos tiene un procesamiento de comandos costoso que bloquea el hilo principal de Redis, la replicación podría verse afectada. Si el problema persiste y se produce una interrupción en una ubicación, es posible que los datos más recientes escritos en la ubicación de la interrupción no estén disponibles en la otra ubicación.

Te recomendamos que uses Cloud Monitoring para definir alertas para la métrica Segundos de CPU del hilo principal (redis.googleapis.com/stats/cpu_utilization_main_thread) y asegurarte de que el uso de la CPU no supere los 0,8 segundos en el nodo principal ni los 0,5 segundos en cada nodo de réplica cuando la réplica se designe como réplica de lectura.

Si tu instancia de Redis supera los valores recomendados, te recomendamos que escales la instancia a un nivel de capacidad superior o que sigas las instrucciones para solucionar problemas para evitar operaciones que consuman muchos recursos de CPU.