Диагностика вытеснения, истечения срока и ошибок OOM
RedisПамятьКоманда
INFO stats
# Fields to check: evicted_keys, expired_keys, expired_stale_perc, keyspace_hits, keyspace_misses, total_eviction_exceeded_time (7.0+)
INFO keyspace
CONFIG GET maxmemory
CONFIG GET maxmemory-policy
INFO memory
# The value that triggers eviction: used_memory - mem_not_counted_for_evict, compared with maxmemoryЧто делает
Показывает число вытесненных и истёкших ключей, коэффициент попаданий в кэш, долю ключей с TTL и значение памяти, запускающее вытеснение, относительно maxmemory.
Когда использовать
Когда приложение получает 'OOM command not allowed when used memory > maxmemory', падает коэффициент попаданий в кэш или сообщают о неожиданном исчезновении ключей.
Внимание
При политике noeviction команды записи получают ошибку OOM по достижении maxmemory, а чтение продолжает работать. При политиках volatile-* ключи без TTL никогда не вытесняются; если ключей с TTL нет, поведение как у noeviction (проверьте expires в INFO keyspace). Не задавайте maxmemory слишком близко к физической RAM: оставьте место для буферов репликации и copy-on-write во время fork.