Я храню файлы и иерархию папок в базе данных mongo, что-то похожее на.
{id: 1, is_root: true, name: "root", type: "folder"}
{id: 2, name: "folder1", type: "folder", parent_id: 1}
{id: 3, name: "f1.txt", type: "file", parent_id: 2}
{id: 4, name: "f2.txt", type: "file", parent_id: 2}
{id: 5, name: "f3.txt", type: "file", parent_id: 2}
{id: 6, name: "f4.txt", type: "file", parent_id: 2}
Теперь при получении всех дочерних элементов folder1 нам нужно запросить mongo для всех узлов, имеющих parent_id = 2, он отлично работает.
В последнее время для повышения производительности я начал изучать redis, я просто хотел изучить и понять, как использовать кэш redis при получении данных из mongo.
Сценарий 1: Возможно,может случиться так, что ни один из дочерних элементов не существует в кэше.
сценарий 2: может случиться так, что весь дочерний элемент существует в кэше.
сценарий 3: это может произойти один или несколько издочерний объект существует в кэше.
Каков наилучший способ получения данных списка в таких сценариях, используя данные, хранящиеся в кэше redis?