OOM: OOM: команда запрещена, когда используемая память > 'maxmemory'
RedisЧто это значит?
Память, используемая Redis, достигла лимита maxmemory, и команды записи отклоняются, поскольку политика вытеснения не может освободить место для новых данных. Память заполнена; запись невозможна.
Почему возникает?
Превышен лимит maxmemory, выбрана политика noeviction (ключи никогда не удаляются), данные без TTL продолжают расти, утечка памяти или недостаточно RAM для лимита.
Как исправить
Проверьте использование памяти: INFO memory и MEMORY USAGE. Выберите подходящую политику вытеснения (например, allkeys-lru или volatile-lru): CONFIG SET maxmemory-policy allkeys-lru. Задавайте ключам TTL, чтобы они удалялись автоматически. Увеличьте maxmemory/RAM. Найдите и уменьшите большие ключи (redis-cli --bigkeys). Удалите ненужные данные.
Ещё по этой СУБД
- WRONGTYPEWRONGTYPE: операция над ключом, содержащим значение неподходящего типа
- NOAUTHNOAUTH: требуется аутентификация
- WRONGPASSWRONGPASS: неверная пара имя пользователя-пароль или пользователь отключён
- READONLYREADONLY: запись в реплику только для чтения невозможна
- MASTERDOWNMASTERDOWN: связь с MASTER разорвана, а replica-serve-stale-data имеет значение 'no'