Redis
 sql >> база данни >  >> NoSQL >> Redis

Региони в стил Azure Cache/DataCache в Redis

Можете да използвате този метод, който използва функциите async/await и redis pipelining за изтриване на ключове по шаблон, използвайки 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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. обработка на ситуации на redis maxmemory с релси, когато се използва кеширане на релси

  2. Как да предавам данни между множество състояния на Lua (многонишкови)?

  3. Стартиране на ElastiCache Integration

  4. Използването на многопроцесорния пул от задачата celery поражда изключение

  5. ScaleGrid хостинг за Redis™ на вашия собствен акаунт в AWS