Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Acesso de fila ao banco de dados para evitar vários itens de cache


Sim, em seu código de cache, você desejará colocar seu código de acesso ao banco de dados dentro de um lock quadra. No entanto, não bloqueie this . Normalmente você faria algo como
private static readonly object staticObjectToLockOn = new object();

...

if (cache[cacheKey] == null)
{
   lock(staticObjectToLockOn)
   {
      // double-check the cache is still null inside the lock
      if (cache[cacheKey] == null)
      {
         // get data from the database, add to cache
      }
   }
}