sql >> データベース >  >> NoSQL >> Redis

RedisのAzureCache/DataCacheスタイルのリージョン

    非同期/待機機能とredisパイプラインを活用するこの方法を使用して、スタック交換redisクライアントを使用してパターンごとにキーを削除できます

    private static Task DeleteKeysByPatternAsync(string pattern)
    {
        IDatabase cache1 = Connection.GetDatabase();
        var redisServer1 = Connection.GetServer(Connection.GetEndPoints().First());
        var deleteTasks = new List<Task>();
        var counter = 0;
        foreach (var key in redisServer1.Keys(pattern: pattern, database: 0, pageSize: 5000))
        {
            deleteTasks.Add(cache1.KeyDeleteAsync(key));
            counter++;
            if (counter % 1000 == 0)
                Console.WriteLine($"Delete key tasks created: {counter}");
        }
        return Task.WhenAll(deleteTasks);
    }
    

    次に、次のように使用できます:

    DeleteKeysByPatternAsync("*user:*").Wait(); //If you are calling from main method for example where you cant use await.
    

    または

    await DeleteKeysByPatternAsync("*user:*"); //If you run from async method
    

    pageSizeを微調整するか、メソッドパラメータとして受け取ることができます。



    1. ページキャッシュ、dentries、inodeとは何ですか?

    2. MongoDBジャーナリングを有効にする必要がありますか?

    3. 配列ソースを使用してmongodbの配列サブセットを取得します

    4. CDPオペレーショナルデータベース(COD)へのアプリケーションの展開