sql >> Databasteknik >  >> NoSQL >> Redis

Azure Cache/DataCache-stil regioner i Redis

Du kan använda den här metoden som utnyttjar funktionerna async/wait och redis pipelining för att radera nycklar genom mönster med stack exchange redis-klient

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

Då kan du använda det så här:

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

eller

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

Du kan justera sidstorleken eller ta emot som metodparameter.



  1. Ställ in Cache Redis Expiration till 1 år

  2. mongodb:hur kan jag se exekveringstiden för det samlade kommandot?

  3. Konvertera mongodb Binary _id till LUUID med hjälp av nod

  4. Det går inte att skapa ett fungerande meteor.js-projekt på en lösdrivarlåda