Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Regiony w stylu Azure Cache/DataCache w Redis

Możesz użyć tej metody, która wykorzystuje funkcje async/await i redis pipelining do usuwania kluczy według wzorca za pomocą klienta redis wymiany stosu

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

Następnie możesz go użyć w ten sposób:

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

lub

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

Możesz dostosować rozmiar strony lub otrzymać jako parametr metody.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. pipelining vs transakcja w redis

  2. Jak wyszukać wzór klucza w hashu redis?

  3. Jak buforować duże obiekty za pomocą pamięci podręcznej Redis

  4. W jaki sposób Redis jest używany w Trello?

  5. Tworzenie słuchacza redis - możliwe w php?