LINUX.ORG.RU

Кей-валуе хранилище в файлах

 , ,


0

1

Собственно сабж. Я уже навелосипедил своё конечно, так как дело пары часов, но хотелось бы узнать существующие решения на пыхе есть какие? Кто сталкивался? Юзал?

Кейс примитивный - хранить до 1-2 сотен ключей это потолок. По факту пара десятков.

P.S. Я для лучшего понимания объясню еще почему вопрос вообще возник:
Я короче навелосипедил это вчера под пол бутылки Капитана моргана и еще треть Гавана Клаб. Оно-то работает, но я смотрю сейчас в код и в ужасе.

★★★★★

Последнее исправление: Suntechnic (всего исправлений: 1)
Ответ на: комментарий от emulek

разве тебе недостаточно обычного массива php?

С головой. Именно его я и хочу самым быстрым образом считывать и таскать из него значения. Но к нему нужен геттер и сеттер + механизм сохранения в файл.

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от emulek

в данном случае даже этого не нужно, т.к. ТС говорил, что это какие-то телефоны в какой-то админке. Неужели у него на редактирование 20и телефонов выделено более одного одмина?!

Ну скорее всего не нужно - ты все правильно понял. Хотя такое что более одного может быть в легкую - вот например проект есть один его правят: наш контентщик, пресс-служба клиент (человек 4-5 кажется), пара человек из IT отдела клиента и еще иногда руководство шарится по админки. Но все они конечно не ринуться менять телефон в одно и тоже время, так что не нужен лок. Хотя уже прикрутил ;)))

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от Suntechnic

Но к нему нужен геттер и сеттер + механизм сохранения в файл.

дык тебе же сказали про serialize...

Хотя уже прикрутил

ну и правильно. Я имел ввиду несколько другое: локи очень сильно губят производительность, если их постоянно дёргать. В данном случае такой проблемы не будет. Т.ч. тут самый простейший пойдёт. А во всяких СУБД простейший не катит, потому там очень запутанная и сложная система. Которая по любому будет в разы медленнее. Т.е. СУБД надо юзать когда у тебя в одно хранилище СРАЗУ пишет много народу, причём это нормальный юзкейс. А если такого нет, то СУБД по любому будет хуже. Любая.

emulek
()
Ответ на: комментарий от emulek

дык тебе же сказали про serialize

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

По поводу лока - да, теперь понял что ты имел ввиду. Совершенно верно - производительность записи меня интересует в самую последнюю очередь.

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от Suntechnic

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

чудес не бывает: либо скорость, либо читаемость.

emulek
()
Ответ на: комментарий от Suntechnic

осталось сравнить unserialize(file_get_contents('serialize.dat')) vs include($path)

Скорее всего вариант с include будет работать на уровне eval(file_get_contents()).

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

А вот мне кажется что нет... Но надо пробовать, а сегодня я не в состоянии уже на это. Выходной однако.

Я отпишусь.

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от false

Мне пофиг. Я знаю как это правильно произноситься, но английский я учил по словарю для 8 класса во время игры в Elite и даже true читаю как труе.

Suntechnic ★★★★★
() автор топика

Я уже навелосипедил своё конечно

Велосипедист. libdb нету что ли в системе ? Её используют все, кому не лень и кому лень. Можно неглядя спорить, что и в пых-пыхе есть что-то для работы с ней.

AS ★★★★★
()
Ответ на: комментарий от AS

Велосипедист.

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

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от Suntechnic

На 100 ключах? Как ты поставил php на Спектрум?

anonymous
()
Ответ на: комментарий от Suntechnic

что по твоему мнению редис для хранения конфига на шареде используют прыщавые школьники

fixed.

baverman ★★★
()

Если у тебя это для кеширования или реальная информация будет дублироваться в чём-то более медленном, то скорее всего на шареде будет установлен xcache, а там key->value есть.

alexmaru
()
Ответ на: комментарий от phpwwwuser

Уже выяснили - serialize много быстрее.

Suntechnic ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.