Как избежать попаданий в БД

1

В моем приложении java у меня есть раскрывающийся список, который должен быть заполнен значениями из настольных игр.

Для добавления игры есть отдельная функциональность. (i: e) вставка в настольные игры)

Значения выпадающего меню не будут меняться, если кто-то не добавит что-то в базу данных.

Чтобы развить функциональность для заполнения раскрывающегося списка,

Один из способов - Хит таблицу каждый раз, когда происходит загрузка страницы и выборка данных для заполнения раскрывающегося списка.

Это эффективный способ? Может ли кто-нибудь предложить мне лучший альтернативный дизайн?

  • 2
    Вы можете кэшировать результат запроса и потенциально сохранить много обращений к БД. Вы должны найти разумный способ аннулировать кэш, хотя.
Теги:

2 ответа

1
Лучший ответ

Вы можете использовать кеш... каждый раз, когда добавляется игра, вы просто обновляете свой кеш. Реализация кеша проста.

  • 0
    Спасибо! Любые хорошие указатели для реализации кеша в Java?
  • 0
    @webExplorer не нужно реализовывать самостоятельно. Гуава предоставляет несколько аккуратных реализаций
Показать ещё 1 комментарий
1

Если вставлять данные и извлекать их для выпадающего меню, то они выполняются в одном и том же приложении Java, тогда мы можем реализовать вид кеша для списка значений.

Итак, нам нужна структура для хранения последнего списка игр, извлеченных из базы данных, например List<Game>, и флаг, который по сути является индикатором события "кто-то добавил строку в базу данных".

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

Также, пожалуйста, сообщите о возможных проблемах параллелизма при реализации такого типа кеша.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню