Получение проблемы с производительностью при получении данных из REDIS CACHE в JAVA - PullRequest
0 голосов
/ 27 июня 2018

Я храню данные 250 МБ в Redis Cache как один хеш-объект. Я использую Spring RedisTemplate для чтения данных из Redis. Но это занимает от 30 до 35 секунд времени.

    redisTemplate.opsForHash().put("masterMap","masterMap", masterMap);
    redisTemplate.opsForHash().get("masterMap","masterMap");

Требовалось получить данные в миллисекундах. Однако это занимает от 30 до 35 секунд времени. Как очень быстро прочитать такой большой объем данных из кэша Redis. Наличие каких-либо альтернативных способов чтения данных из Redis или я должен изменить любые конфигурации.

Может кто-нибудь, пожалуйста, подскажите мне об этом.

1 Ответ

0 голосов
/ 28 июня 2018

Выполнить профилировщик.

  • Если вы проводите большую часть времени в десериализации этих данных, тогда подумайте более быстрые методы сериализации. Как protobuf или cap'n'proto.
  • Если вы проводите большую часть времени, читая огромное количество данных из сокет, затем попытайтесь уменьшить количество хранимых. Использовать сжатие или / и нормализация. Например, если есть много строк с низким мощности, храните их словарь как отдельную структуру.
...