Есть ли в лаке какая-либо функция для хранения данных json / string в кеше или памяти и повторного использования во всех запросах? - PullRequest
1 голос
/ 29 мая 2019

Я пишу модуль лака, который проверяет HTTP-запрос, поступающий на мой сервер, и у меня есть зависимость данных JSON для моего модуля.Данные Json берутся путем выполнения HTTP-вызова от моего модуля на сервер переадресации каждый выделенный интервал времени и сохранения ответа JSON в кэш-памяти или общей памяти и их использования.Как мне добиться этого без ущерба для производительности лака.

Я уже попробовал концепцию совместной памяти Linux для хранения данных и их использования, но меня поразило увеличение производительности лака.Я вижу много сбоев http с этим методом, когда я тестировал нагрузку.Я хотел бы знать, как vanrish кеширует http-запрос и передает его пользователю, чтобы я мог использовать тот же метод.

Логика разделяемой памяти, которую я использую:

if (memory exists){
    ...
    read memory and retrive data
    ...
} else {
    make a call to server
    server responds with data
    store data in memory
}

...
use the data for request
...

Фактический вызов к серверу и получение данных должны происходить один раз в интервал времени.Хорошо работает, когда привязывается вручную.Но произошел сбой при запуске загрузки нагрузки. Кажется, это проблема дочернего процесса, когда каждый дочерний элемент обращается к этому куску кода и вызывает сервер для каждого запроса.Я не хочу использовать блокировки мьютекса для этого, так как это снизит производительность.

...