Прежде всего, 15-20 секунд для загрузки данных - это слишком много времени, поэтому я подозреваю, что это происходит
- Это время для компиляции, а не для загрузки данных
- данных слишком много, и вы заполняете память
- Метод, который вы используете для чтения данных, очень медленный
- Хранение данных слишком медленное, или структура находится в текстовом файле, и чтение его происходит медленно
Мое мнение таково, что вы кэшируете только небольшой объем данных, которые вам нужны, чтобы использовать его слишком много раз за короткое время. То, как вы это описываете, по некоторым причинам не является хорошей практикой.
- Если у вас много пулов, вы читаете одни и те же данные во всех пулах и тратите память без причины.
- Данные, которые вы кешируете, вы не можете их изменить - только для чтения
- Даже если вы кешируете некоторые данные, вам нужно отобразить страницу, и есть место, где вам действительно нужно сделать кеш для окончательного рендеринга, а не для данных.
Что и как кешировать.
- Кешируем окончательную страницу рендеринга.
- Мы также устанавливаем кеш для страницы и других элементов для клиента.
- Мы читаем и записываем данные из базы данных по мере их поступления, и мы покидаем базу данных, делая кеш, он знает лучше.
- Если мы кешируем данные, то их должно быть небольшое количество, которое необходимо было использовать для длинного цикла, и мы много раз избегаем вызова базы данных.
Также мы кешируем, как они просят об этом, и если они не используются долгое время, или памяти требуется пространство, эта часть кеша исчезла. Если некоторая часть данных поступает из сложных комбинаций многих таблиц, мы создаем временную плоскую большую таблицу, в которой все данные объединены, все подряд. Эта таблица временная, и если нам нужно слишком много, мы создаем второй временный файл базы данных, в котором мы храним эту часть данных.
Как быстро читается база данных? Ну, это так быстро, что вам не нужно беспокоиться об этом, вам нужно проверить другие моменты задержки, например, как я уже сказал, полный рендеринг страницы или некоторых частей страницы.
Что вам нужно беспокоиться, так это хороший дизайн базы данных, хороший и быстрый способ извлечения ваших данных и хороший код оптимизации для их отображения.