У меня 1000 страниц url в виде:
http://www.downloadformsindia.com/index.php?option=com_download&e=n&task=showpage&file=Forms%252Fmisc%252Ficc%252Fhdfcbank%252FBlocking%20ATM%20and%20Debit%20Card%20Form.pdf&title=HDFC%3ABlocking%2BATM%2B%26%2BDebit%2BCard%2BForm&code=igi
Для каждого URL-адреса я хочу хранить связанную панировку. Поэтому всякий раз, когда вы посещаете такой URL-адрес, я покажу, что это сводка.
Поэтому я хочу, чтобы карта хранила URL с панировочными сухарями. URL будет хеш-ключ.
Моя проблема в том, что я не работал на PHP, а только на C ++ / Java или Perl. Я хочу, чтобы хэш содержал 10 тысяч таких значений в переменной php, которые я бы сериализовал, чтобы хранить их на диске постоянно. Для каждой загрузки страницы я создавал сохраненную хеш-переменную «на лету» и искал URL-адрес в качестве ключа хеша. Это должно быть довольно быстро. Я не уверен, использует ли хэш хеширования карту деревьев или хэш-карту. Хорошо, если я поеду на карту Хэша, как я равномерно распределю URL-адрес в качестве ключа, чтобы все URL-адреса попали в одно ведро?
Любые идеи приветствуются.
Вы можете попробовать использовать простой ассоциативный массив. PHP изначально позволяет использовать строки для индексов массива. Я не уверен в базовой структуре данных, но вы всегда можете сравнить ее.
Ассоциативные массивы PHP – это хэш-таблицы (хэш-карты).
Они принимают любую строку как ключ, поэтому вы можете использовать URL-адреса непосредственно для ключей.
Вы можете просто создать массив и назначить ему следующее:
$data = array(); $data[$url] = $data_for_this_url;
И экспортируйте его с помощью serialize()
или даже var_export()
(более поздняя var_export()
может быть быстрее импортирована, особенно с кешем opcode).
Это хэш-таблица, поэтому ключи хэшируются для равномерного распределения в таблице. Стол растет по мере необходимости, чтобы избежать слишком больших столкновений. Вам не нужно об этом позаботиться.
Вы можете использовать php с redis
если хотите использовать структуру данных здесь для более быстрого вывода. Вы можете проверить расширение ниже.
https://github.com/phpredis/phpredis
Надеюсь, это поможет вам.