2010-11-28 18 views

Respuesta

12

Porque no admite ningún tipo de semántica de almacenamiento en caché razonable (primer ejemplo que se le ocurre: tiempos de espera), y básicamente crece indefinidamente.

Está diseñado solo para pruebas, ya que solo proporciona la implementación más simple posible de una memoria caché local.

+6

"Un caché con una mala política es otro nombre para una pérdida de memoria". http://blogs.msdn.com/b/oldnewthing/archive/2006/05/02/588350.aspx – codekaizen

+0

¡Gracias! El crecimiento indefinido ya es motivo suficiente para que no lo use en mi aplicación. Sin embargo, ¿podría elaborar más la cuestión de semántica/tiempo de espera razonable de almacenamiento en caché? ¿Y qué se entiende exactamente con las pruebas, las pruebas "verdaderas" (pruebas unitarias, etc.) o solo algunas pruebas ad hoc "de juego"? –

+0

@Marco: la memoria caché debe ser capaz de optimizar el uso de recursos limitados (memoria) priorizando, manejando dependencias, caducidad ... HashtableCache es suficiente para pruebas unitarias (por ejemplo, afirmando que llamar al mismo método de repositorio dos veces resulta en solo una llamada a DB). También es genial para jugar porque es predecible. –

Cuestiones relacionadas