Можно ли запрашивать Redis аналогично MySQL в PHP?

В настоящее время у меня есть стандартная настройка приложения Laravel / MySQL, но оказывается, что нам нужно создать какое-то хранилище значений ключей. Вместо того, чтобы создавать какой-то массивный, архаичный реляционный беспорядок в MySQL, я надеялся реализовать что-то в духе Redis и хотел убедиться, что у меня есть представление о том, что делает Redis, и подходит ли это, прежде чем я проведу неделю в кругу.

В идеале у меня была бы таблица MySQL с формами

id | form
1  | 'Contact'
2  | 'Header'
3  | 'Homepage - Side'

и ведет из этих форм в другую таблицу MySQL

id | метка времени | status_id | form_id
1 | 2014-01-01 14:13:23 | 1 | 1
2 | 2014-01-02 14:13:23 | 1 | 2

тогда будет хранилище значений ключей Redis данных, связанных с лидами.

key          | value         | lead_id
'email'      | '[email protected]' | 1
'name'       | 'Curly'       | 1
'best_time   | 'Evening'     | 2
'name'       | 'Moe'         | 2
'email'      | 'Larry'       | 3

Мои вопросы:

  • Правильно ли для этого использовать комбинацию MySQL / Redis?
  • Могу ли я запрашивать / сортировать / фильтровать данные из Redis, как если бы они пришли из MySQL?

0

Решение

Redis — очень хорошее хранилище ключей / значений, но оно имеет свои ограничения. Во-первых, все должно уместиться в памяти. Это делает его непрактичным для больших наборов данных. С ним также будет немного трудно работать, если вы не будете делать вещи способом Redis, примите его причуды и ограничения.

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

В вашем случае вам, вероятно, понадобится лучшее хранилище документов, чем MySQL. Вы могли бы рассмотреть CouchDB, MongoDB или PostgreSQL, который имеет фантастическую поддержку JSON. MySQL сильно отстает в плане возможностей такого рода.

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

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]