Pregunta

Recientemente he estado investigando las posibilidades del almacenamiento en caché en ASP.NET.

Hice mi propio "Caché", porque no conocía nada mejor, se parecía un poco a esto:

public class DataManager
{

      private static DataManager s_instance;

      public static DataManager GetInstance()
      {
      }

      private Data[] m_myData;
      private DataTime m_cacheTime;

      public Data[] GetData()
      {
            TimeSpan span = DateTime.Now.Substract(m_cacheTime);

            if(span.TotalSeconds > 10)
            {
                  // Do SQL to get data
                  m_myData = data;
                  m_cacheTime = DateTime.Now;
                  return m_myData;     
            }
            else
            {
                  return m_myData;
            }
      }

}

Entonces, los valores se almacenan por un tiempo en un singleton y, cuando expira el tiempo, los valores se renuevan.Si el tiempo no ha expirado y se realiza una solicitud de los datos, se devuelven los valores almacenados en el campo.

¿Cuáles son los beneficios sobre el uso del método real (http://msdn.microsoft.com/en-us/library/aa478965.aspx) ¿en lugar de esto?

¿Fue útil?

Solución

Creo que la máxima "deja que la computadora lo haga;es más inteligente que tú" se aplica aquí.Al igual que la gestión de la memoria y otras cosas complicadas, la computadora está mucho más informada sobre lo que está haciendo que usted;en consecuencia, podrá obtener más rendimiento que usted.

Microsoft ha tenido un equipo de ingenieros trabajando en ello y probablemente hayan logrado exprimir mucho más rendimiento del sistema del que sería posible para usted.También es probable que el almacenamiento en caché integrado de ASP.NET funcione en un nivel diferente (al cual es inaccesible para su aplicación), lo que lo hace mucho más rápido.

Otros consejos

El mecanismo de almacenamiento en caché de ASP.NET existe desde hace algún tiempo, por lo que es estable y se comprende bien.Existen muchos recursos que le ayudarán a aprovecharlo al máximo.

Hacer el suyo propio podría ser la solución adecuada, según sus necesidades.

La parte difícil del almacenamiento en caché es elegir qué es seguro almacenar en caché y cuándo.Para aplicaciones en las que los datos cambian con frecuencia, puede introducir algunos errores difíciles de solucionar con el almacenamiento en caché, así que tenga cuidado.

El almacenamiento en caché en ASP.NET tiene muchas funciones y puede configurar el almacenamiento en caché de forma bastante granular.

En su caso (almacenamiento en caché de datos), una de las características que se está perdiendo es la capacidad de invalidar y actualizar el caché si los datos en el servidor SQL se actualizan de alguna manera (dependencia de caché SQL).

http://msdn.microsoft.com/en-us/library/ms178604.aspx

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top