A loja devolve 500 e o var/log/exception.log enche de “OOM command not allowed when used memory > ‘maxmemory'”. O Magento não tem culpa: o Redis encheu e está configurado para recusar escrita nova em vez de jogar fora chave velha. São dois ajustes, um na política de despejo e outro na separação dos bancos.
Confirme que é memória mesmo
redis-cli info memory | grep -E 'used_memory_human|maxmemory_human|maxmemory_policy'
redis-cli info keyspace
Se o used_memory bateu no maxmemory e a policy aparece como noeviction, achamos o culpado: assim o Redis lotado responde erro em todo SET, e o Magento traduz isso em página branca. Troque para allkeys-lru, que descarta a chave usada há mais tempo:
redis-cli config set maxmemory-policy allkeys-lru
redis-cli config rewrite
redis-cli config get maxmemory
O config set vale na hora e o config rewrite grava no redis.conf que a instância carregou, sem reiniciar nada — de propósito: reiniciar o Redis que guarda sessão desloga todo mundo e esvazia carrinho no meio do expediente. Veja também o maxmemory: em 0 o Redis cresce até o OOM killer do kernel comer o processo.
Cache, page cache e sessão em bancos diferentes
bin/magento setup:config:set --cache-backend=redis --cache-backend-redis-db=0
bin/magento setup:config:set --page-cache=redis --page-cache-redis-db=1
bin/magento setup:config:set --session-save=redis --session-save-redis-db=2
bin/magento cache:flush
Os três reescrevem o app/etc/env.php, então guarde uma cópia dele antes. Compartilhar o banco 0 é o erro clássico: o full page cache cresce feito bicho e um cache:flush apaga a sessão de todo mundo junto. Com bancos separados você limpa um sem encostar no outro — o flush ainda derruba o FPC, então conte uns minutos de site lento.
A armadilha do allkeys-lru na sessão
Bancos separados dividem a mesma memória da instância, e o allkeys-lru não respeita fronteira de banco: num pico ele pode descartar sessão de cliente que estava no meio do checkout. Em loja com movimento eu subo uma segunda instância na porta 6380 só para sessão, com volatile-lru e maxmemory folgado, e aponto o –session-save-redis-port para ela.
Se travou nisso e precisa de ajuda, me chama aqui.