2013-02-25 2 views
0

Мне нужно смоделировать данные в redis, где ключи являются файловыми путями, и каждый путь имеет N ключ/значения с ним.Как смоделировать данные на основе пути

В настоящее время я моделирую данные с помощью хэши.

HSET /products/clothes/pants/501-jeans "title" "Levi 501 Jeans" 

Это прекрасно работает, однако я хочу иметь возможность получить список всех «брюк» хэшей «дети». Я могу сделать это с помощью

KEYS /products/clothes/pants/* 

Однако redis documentation состояний KEYS pattern не должны быть использованы в производстве.

Я думал о создании SET всех «путей», связанных с хэшами, но im все еще не уверен, как/если я могу искать их.

Мысли о том, как наилучшим образом моделировать данные такого типа?

+0

Относительно новый для redis, но я думаю, что с помощью набора для хранения всех ключей «снизу»/продуктов/одежды/штанов является хорошим. Не знаете, каковы ваши критерии поиска, но вы легко сможете получить список всех этих хэш-ключей. – Adam

ответ

0

Вот как я смоделировал данные и, похоже, работает достаточно хорошо.

resources::/path/foo => Redis Hash of Resource data 
resources::/path/foo/bar => Redis Hash of Resource data 
resources::/path/foo/cat => Redis Hash of Resource data 
resources::/path/foo/cat/dog => Redis Hash of Resource data 

children::/path/foo => Redis Map [ /path/foo/bar, /path/foo/cat/, /path/foo/dog ] 
children::/path/foo/bar => Redis Map [ /path/foo/bar, /path/foo/cat ] 
children::/path/foo/bar/cat => Redis Map [ /path/foo/dog ] 

Я должен управлять детьми :: карты в любое время я добавить/удалять их ресурсов :: ключевых

Я выбрал моделирование детей :: с помощью Redis карты поэтому его невозможно иметь повторяющиеся ключи пути, однако использование списка может также работать (легко до

Смежные вопросы