Удаление ключей в redis-е по маске

Aug 18, 2013 23:11

В redis есть возможность получить список ключей по маске (команда KEYS). В результате можно узнать, есть ли у нас определенный набор ключей подпадающих под шаблон. Например, если для ключей хранящих данные о пользователях использовать префикс 'user.id.идентификатор_пользователя', то узнать закэшированных пользователей можно командой:

redis-cli -n 0 KEYS 'user.id.*'

Но вот удалить группу ключей подпадающих под определенную маску нельзя. Команда DEL требует конкретные имена ключей, а FLUSHDB удалит все ключи. Задача нерешаемая на уровне redis-а, но решаема на уровне командной строки. Делается так:

redis-cli -n 0 KEYS 'user.id.*' | xargs redis-cli -n 0 DEL

redis, linux

Previous post
Up