LINUX.ORG.RU

key-value storage

 , , ,


0

1

Привет!

Так уж сложилось, что волею случая приходится иметь дело с PHP.
Посоветуйте, пожалуйста, простой framework, или модуль, или как оно еще называется ...
Нужен самый минимум, банальный key-value storage, желательно что б внизу был JSON, но не обязательно. Уверен, что-то такое должно быть уже, т.к. велосипедить совсем не хочется.
Спасибо!

P.S. И желательно, минимум зависимостей, а лучше вообще без. PHP 5.5.15

★★★★★

Memcached воткни, он простой как валянок. Создём экземпляр memcached, дальше set() и get().

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

Оно ресурсов хочет, да и избыточно это. (это все будет работать под OpenWRT)

joy4eg ★★★★★ ()

Банальный key-value storage делается за пять минут, искать и тестить будешь дольше.

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

С моим знанием PHP на уровне perl это будет не 5 минут :D

joy4eg ★★★★★ ()

Redis глянь. Или вообще berkley db

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

Вроде оно, смущает «db2»:

DB2 is for » Oracle Berkeley DB 2. It is described as «a programmatic toolkit that provides high-performance built-in database support for both standalone and client/server applications.

Ему еще либа нужна ... плюс оно бинарное, что плохо.

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

Я хочу в текстом виде хранить это дело, что бы потом еще и из скриптов доступ иметь :)

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

Возложи тогда функции движка на файловую систему :) Храни в каталоге файлы с именем=ключ Содержимое=значение.

Пар ключ,значение много будет ?

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

Как минимум, в Debian php поступает уже с зависимостью от libdb5.1.

Текстовое придётся парсить, это может повлиять на производительность. В худшем случае вместо доступа по ключу за O(1) вообще получится доступ за O(n).

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

Ну так возьми сам напиши, класс с каким-нибудь глобальным отовсюду доступным массивом $data, и наследуйся от этого класса. Делается за три минуты, ещё и покурить успеть можно. И пихай куда-нибудь или в базу, или в файл, или в сессию, чтоб всё сохранялось.

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

Debian

OpenWRT

В худшем случае вместо доступа по ключу за O(1) вообще получится доступ за O(n).

Не критично, совсем :)

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

Да там работы на три минуты. Хочешь примера - посмотри на opencart'овский класс Registry.

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

это все будет работать под OpenWRT

json-encode/json-decode или serialize/unserialize и в файл

goingUp ★★★★★ ()
Последнее исправление: goingUp (всего исправлений: 1)

фреймворк одно key/value storage совсем другое

посмотри sqlite, couchdb, postgresql

для своего может подойдет встроенный веб-сервер?

anonymous ()

Чтобы не велосипедить, вот тебе на выбор:

https://github.com/tedious/stash

https://github.com/jamm/Memory

Оба есть в Composer.

Вчера первый из них (Stash) с бэкендом на Redis задействовал, чтобы самодельный велосипед для предотвращений dog-pile убрать.

Оба движка поддерживают несерверные бэкенды, например, Stash умеет файловую систему (но засрёт глубиной каталогов сильно), SQLite, APC. Memory умеет также shared memory.

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