У меня есть приложение Springboot, которое подключается к кэшу Redis (Azure redis) и получает объект. Размер объекта составляет 2 МБ. Иногда я получаю следующую ошибку:
io.lettuce.core.RedisException: io.netty.util.internal.OutOfDirectMemoryError: не удалось выделить 524288000 байт (-ов) прямой памяти (используется: 553648128, макс: 1073741824) "}.
Это происходит не каждый раз. Почему выделяется 524288000 байт для извлечения объекта размером 2 МБ? Когда он работает, я получаю ответ в 1 комплект c.
Подробности:
Версия загрузочной пружины: 2.1.5
Повторное отображение данных пружины: 2.1.8
Ядро салата: 5.1 .6
io.Netty: 4.1.36
Среда развертывания Дата:
Среда: Pivotal Cloud Foun dry Среда
Память: 2 ГБ с прямая память 1 ГБ
Redis:
Azure Premium Redis с 6 ГБ памяти.
Фрагмент кода:
Для получения объекта я используя следующий фрагмент кода:
redisTemplate.opsForValue().get(keyname);
, а затем преобразовать в объект с помощью ObjectMapper.
и все свойства по умолчанию.