ИЛИ совпадение в Python Redis сканирование

Я использую Django Redis для управления кэшем Redis нашего приложения. Допустим, у меня есть следующие ключи в кэше:

user-1:color
user-1:sport
user-2:color
user-3:color
user-3:whatever

Я хочу удалить все ключи для user-1 и user-2. Я знаю, что могу использовать метод delete_pattern() (см. docs):

for user_id in [1, 2]:
    cache.delete_pattern(f"user-{user_id}:*")

Однако это очень медленно. Смотрите эти ссылки для более подробной информации о причинах:

Я хочу попробовать построить более широкий шаблон, чтобы мне нужно было сделать только один вызов delete_pattern(). Согласно документации, шаблон имеет синтаксис glob, но я попробовал следующее, и это не работает:

cache.delete_pattern(f"user-{1,2}:*")

Есть идеи, как построить этот шаблон?

Вернуться на верх