Intereting Posts
Как заставить страницу не кэшироваться в PHP? Не удалось установить соединение SwiftMailer с хостом smtp.mailgun.org Как получить первый субдомен с PHP? Laravel 5 и странная ошибка: фигурные скобки на спине не-латинская проверка адреса электронной почты Php mysqi bind_param Число переменных не соответствует количеству параметров в подготовленном операторе Ресурс интерпретируется как изображение, но передается с текстом типа MIME / html – Magento Принимая скриншот веб-сайта, серверный сервер на арендованном Linux сервере, бесплатно URL Friendly Имя пользователя в PHP? Vim inoremap для определенных типов файлов php заменить первое вхождение строки из 0-й позиции Различные методы кэширования файлов, плюсы и минусы Как я могу отправить уведомление Firebase Cloud Messaging без использования Firebase Console? Как подключиться к 2 базам данных одновременно в PHP Подготовка к удалению Mcrypt в PHP 7.2

Каковы хорошие, быстрые постоянные параметры хранения данных key-> value?

Для небольшого PHP-приложения, которое я пишу, нам нужно сохранить большое количество записей, имеющих хэш-ключ, и несколько простых значений полей («хост», «путь»). например:

'4420ffb32a' => array( 'host' => '127.0.0.1', 'path' => 'path/to/resource', ); 

Каково наилучшее постоянное хранилище данных? Будет ли MySQL лучшим выбором, или это слишком сложно для таких простых данных? Что даст лучшую производительность?

Solutions Collecting From Web of "Каковы хорошие, быстрые постоянные параметры хранения данных key-> value?"

Короткий ответ: Мембаза .


Длительный ответ:
У вас в основном есть три варианта: реляционная база данных, хранилище файлов или что-то еще.

Как вы сказали, реляционная база данных определенно может быть переполнена. Тем не менее, если это часть приложения, у которого уже есть MySQL или другая база данных, я бы пошел с этим. Кроме того, иногда бывает полезно хранить файлы (например, писать кучу XML-файлов), но дисковый ввод-вывод может быть медленным.

Теперь в другой категории у вас есть отличные опции NoSQL, такие как CouchDB или Memcached .

Если вы не слишком беспокоитесь о сохранности ваших данных, я бы рекомендовал memcache. Он легкий, легкий для работы, и есть расширение PHP Memcache, которое упрощает его использование. Это сделано для хранения ключевого значения, подобного этому.

Единственный недостающий memcache состоит в том, что все ваши данные потеряны во втором, когда служба memcache прекращается. Это – то, где Membase входит. Это – открытая версия memcache, которая совместима с протоколом, то есть она будет работать со всеми существующими клиентскими библиотеками. Тем не менее, он может сохранять ваши данные и на самом деле обеспечивать согласованность и надежность, что-то memcache не может само по себе.

CouchDB – это ваш ответ (хотя это может быть немного излишним для ваших нужд).

Просто предложить что-то другое, redis (или redisdb-win32, если вы на серверах Windows)

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

Информация о pconnect здесь: php.net

Общей альтернативой базе данных является простой файл, но исправьте меня, если я ошибаюсь, но совместимый доступ к файлам может быть медленнее.

Удачи.

Чтобы добавить еще некоторые из упомянутых выше, PHP имеет встроенную поддержку для

  • MongoDB ,
  • Tokyo_Tyrant и
  • Berkeley DB

Для последнего есть хорошая статья Йоханнеса Шлютера .

Странный никто до сих пор не упоминал Флинтстоун .

Также хорошим вариантом является Doctrine .

я бы пошел на MySQl, на всякий случай вам нужно будет обновить свое приложение в будущем. Лучше быть будущим доказательством, когда дело касается приложений.