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. 最新のグループ化されたエントリのみを選択します

    2. 同じテーブル内の複数の外部キー

    3. LISTを使用してストアドプロシージャに挿入する

    4. DockerはアプリケーションをMySQLに接続できません