Я работаю над веб-приложением, используяnesestJs/postgres/redis.
Каков наилучший способ (лучшая структура данных) для кэширования следующей таблицы postgres (иерархии) в Redis?
космос:
папки:
файлы:
Я уже пытался кэшировать это, используя ключ-значение, где ключ хэшируется из запроса, а значение - это ответ, скажем, getAllMyFiles, но возникнут некоторые проблемы. Скажем, я хочу кэшировать. Маршрут:
/my-files
ключ: пользователи:[USER_ID]:документы:[QUERY-HASH]
проблема в том, что:
Я думаю, что лучшее решение — использовать график Redis.
Может ли это быть хорошим кандидатом на RedisJSON? Вы можете сохранить все пространство и всю его иерархию в одном ключе в виде JSON, используя JSON.SET, а затем запрашивать его части, используя JSON.GET.
JSON.SET space:1234 $ '{
"name": "foo",
"users": [ "alice", "bob" ],
"folders": [
{
"id": "5678",
"files": [
{
"name": "bar"
},
...other files...
]
},
...other folders...
}'
JSON.GET space:1234 $. # returns the entire space
JSON.GET space:1234 $.folders # returns the folders for the space
и как это поможет, не могли бы вы рассказать мне больше!
Отредактировано для примера.
Вы не можете говорить о «лучшем» кэше, не уточнив особенности использования.