Вопрос

Мое приложение настроен с помощью многих клавиш / значений (например, скажем, 30.000)

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

Я думал о

  • предварительно составление их в массив через PHP-файл
  • предварительно составление их в базу данных SQLite TMPFS
  • предварительно составление их в мемкачественную БД

Каковы мои варианты для

  • Лучшее время произвольного доступа к этой конфигурации (память не является проблемой)?
  • Лучшее структурированное время доступа, если я смогу разбить эти конфигурации в такие семьи, как (сеть, I18n, ..)

Спасибо Джером

Это было полезно?

Решение

Ну, если память не является проблемой, просто сериализуйте массив в файл. Нет абсолютно не более быстрых решений, чем это. У вас нет накладных расходов ввода / вывода и библиотеки SQLite, а у вас нет накладных расходов сети MEMCACHED.

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

Чтобы структурировать настройки, вы можете поставить каждый в свой файл.

Но действительно, вы должны использовать базу данных. Это то, что они там. Я действительно спрашиваю, почему вам нужно будет беспокоиться о настройках 30K .. Вы можете пересмотреть ваш дизайн приложений.

Другие советы

Как насчет в базе данных?

С схем, как это:

| key | value |

Вы могли бы иметь такие данные:

| currency | pound |
| timezone | GMT   |

Это также означает, что вы можете запросить это так:

SELECT * FROM options WHERE key = 'timezone'

Или даже вернуть много вариантов:

SELECT * FROM options WHERE key IN ('timezone','currency')

Это может быть в любой базе данных, не менее важной базы данных SQLite. Если вы используете такой язык, как PHP, вы можете использовать Adodb. Для абстракции базы данных, чтобы ваше приложение переносимо между различными типами базы данных, просто мысль, если вы были обеспокоены связанными в одной базе данных.

Если вы хотите структурированы, я бы сказал INI-файлы, используя parse_ini_file. функция.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top