El almacenamiento en caché (cómo “hacer”) al escribir programas no está cubierto en ninguna parte como un tema en sí mismo. ¿Cómo puedo estudiar esta área de manera integral?

Depende principalmente de su escenario de aplicación. ¿Qué tipo de consistencia necesitas?

Creo que el Capítulo 7 del siguiente libro cubre los principios de consistencia:

Sistemas distribuidos: Principios y paradigmas 2ª edición, Andrew Tannenbaum y Maarten van Steen, Prentice Hall, 2007

En resumen: dependiendo de lo que esté almacenando en caché, puede o no estar bien si un usuario obtiene una respuesta basada en datos obsoletos. Si no veo un artículo en un sitio web de noticias 1 segundo después de su publicación, podría estar bien. Si no veo el saldo actual de mi cuenta bancaria, no tanto.

Lo que he encontrado que es un factor importante al implementar su propia caché es el tamaño de los objetos. Si son todos del mismo tamaño, ¡genial! Puede asumir un número fijo de objetos que caben en su caché. De lo contrario, tendrá que lidiar con todo tipo de problemas, como la fragmentación. Alternativamente, puede dividir los objetos en trozos, pero nuevamente, esto puede o no funcionar dependiendo de su aplicación.

More Interesting

¿Debería considerar la ubicación como una ventaja como desarrollador de software en Londres?

Desarrolladores de Javascript: ¿Qué 'patio de juegos' te gusta usar más, Codepen.io, jsfiddle o cualquier otro, y por qué?

¿Debería aumentarse el pago para los desarrolladores de Android en lugar de los desarrolladores de iOS, ya que la mayoría de los desarrolladores de iOS necesitan admitir dispositivos fabricados por Apple solo mientras que los desarrolladores de Android deben admitir dispositivos fabricados por tantos proveedores?

¿Cómo es útil la certificación Six Sigma en la industria de pruebas de software?

Cómo crear un software que use los componentes de un teléfono Android

¿Qué se necesita para pasar al siguiente nivel: de un desarrollador de software novato a un profesional en Java?

¿Qué tan importante es para un probador o desarrollador comunicarse entre sí?

En su opinión, ¿qué hace que alguien sea un desarrollador de software sénior?

Cómo encontrar y elegir una empresa de desarrollo de software personalizado

¿Cuántas líneas de código tiene que haber escrito diariamente para convertirse en un desarrollador de software profesional?

¿Cuáles son las consideraciones clave antes de seleccionar una empresa de desarrollo de software?

¿Cuáles son los mejores libros de desarrollo de software que resisten el paso del tiempo?

¿Cómo paso del desarrollo de software a la gestión de productos?

¿Qué tipo de desarrollador de software escribe más código?

¿Cuál es un buen consejo para un desarrollador de software que está a punto de ser etiquetado como un "trabajador" y le gustaría recuperar su pasión y comprometerse con algo?