2017-01-25 1 views
0

Меня интересуют ваши мнения, лучшие мысли ... Вы бы сказали, что лучше просто запросить базу данных в любое время, когда вы хотите получить данные (даже если вы знаете он будет статичным) или хранить данные в памяти сеанса сервера (сети)?SQL - загрузить в память или запросить базу данных

С одной стороны, хранение в памяти позволит быстрее обрабатывать данные и уменьшать нагрузку на SQL-сервер. С другой стороны, это может несколько увеличить усложнение кода приложения и ресурсов веб-сервера/системы.

+1

Для статических данных рассмотрите ленивую загрузку для нестатических данных, рассмотрите сравнение даты последнего изменения. – user5226582

+1

Использование фреймворка кэша не увеличивает большую сложность, особенно если вы уверены, что вам никогда не придется аннулировать кеш. – stuartd

ответ

1

Ответ зависит (как и большинство) от ваших конкретных потребностей. Если ваша база данных имеет пропускную способность, но ваш веб-сервер этого не делает, вы должны сделать это в SQL. И наоборот. Никто не может никому ничего рекомендовать, не зная их ситуации.

+0

Спасибо. Это общий, передовой опыт, поэтому у меня нет конкретной ситуации. – SlowCoder74

1

Вы можете использовать статические словари для хранения статических данных из базы данных.

Преимущество использования: иметь только один экземпляр каждого словаря и уменьшать количество запросов к базе данных.

Вы можете обратиться к this question, чтобы узнать, как это реализовать.

+0

Что делать, если данные действительно меняются? Как приложение сможет перезагрузить кэшированные данные? Запрос в базу данных, чтобы определить, была ли обновлена ​​таблица? Я думаю, это было бы хорошо, если бы было извлечено много данных таблицы, но не так много, если вас беспокоит только мелкие фрагменты данных. – SlowCoder74

+1

На самом деле это полезно для небольших фрагментов статических данных, например, для имен стран. –