в зависимости от типа CRUD орперации, выполнить поиск id операции и прибить его.
use admin
db.aggregate( [
{ $currentOp : { allUsers: true } },
{ $match : <filter condition> } // Optional. Specify the condition to find the op.
// e.g. { op: "getmore", "command.collection": "someCollection" }
] )
затем
db.killOp(<opid of the query to kill>)
альтернативно можно использовать killSessions
чтобы избежать повторений стоит добавлять к команде параметр maxTimeMS
есть два механизма удаления истёкших ключей. первый(lazy) когда к ключу происходит обращение и он оказывается уже истекшим,
и второй(active), когда редис сам дропает несколько ключей 10 раз в секунду.
по умолчанию redis сканирует 20 записей за раз(ACTIVE_EXPIRE_CYCLE_LOOKUPS_PER_LOOP), и если больше 25% просмотренных оказались истёкшими, цикл повторяется.
но так как цикл запускается 10 раз в секунду, то многие записи могут оказаться истекшими в одну и ту же секунду(например неверное использование EXPIREAT) , что приведёт к зацикливанию процесса очистки и блокировки redis до тех пор пока число истекших записей не снизится до 25%.