Как работает `CachedReferenceField` из mongoengine?

Я работаю над проектом, в котором я должен использовать Django, grpc и mongodb. Операции с базой данных выполняются readonly, за исключением случаев, когда пользователь взаимодействует с системой, например, публикует комментарии или ставит лайк сообщению, в этом случае мне необходимо обновить существующий документ базы данных. Я также хочу хранить caches и делаю это на retrieve() и list().

Теперь у меня проблема с обновлением кэша, когда пользователь комментирует, например, я могу обновить кэш, который сделан в retrieve() и list(), но сделать это также для вложенных документов очень сложно (это возможно, но это не чистый способ), поэтому я хочу знать, если CachedReferenceField пригодится для этой цели или нет?

Я имею в виду, что у меня есть свой собственный метод кэширования, который является исключительно личным (который мне не нравится и я хотел бы сделать это более "чистым" способом, любая помощь по этому поводу была бы также признательна;), разве это CachedReferenceField не прерывает мой метод кэширования? Или это внутреннее и не имеет ничего общего с моим методом кэширования?

Я прочитал документ, но он не такой уж и описательный.

Вернуться на верх