Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Достъп до базата данни на опашка, за да избегнете множество елементи в кеша

Да, в кода за кеширане ще искате да поставите кода за достъп до базата данни в lock блок. Въпреки това, не се заключвайте върху this . Обикновено бихте направили нещо като

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
      }
   }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да намеря ограничение по подразбиране с помощта на INFORMATION_SCHEMA?

  2. Използване на псевдоними в клаузата Where или алтернативна опция?

  3. Премахване на подпълване при изпращане на резултати от заявка в имейл от SQL Server (T-SQL)

  4. Странен резултат от SQL заявка?

  5. Изследване на GUI на SQL Server 2016 Query Store