У меня есть представление, которое возвращает список больших документов Mongo через ORM (MongoEngine). Запрос ORM к коллекции варьируется на нескольких уровнях (упорядочение, лимит, смещение, фильтры запросов и т. Д.). Однако исходные данные не обновляются регулярно.
Чтобы отобразить данные, представление преобразует документы Mongo в объекты Pythonic Dict.
Для целей кэширования, нужно ли просто вызывать встроенную функцию hash () для метода MongoEngine ORM? Другими словами:
key = hash('Document.objects.filter(user_id__gt=5)')
value = Document.objects.filter(user_id__gt=5)
Я бы тогда использовал API кеширования Django с бэкэндом memcache.
Это не похоже на многопоточность, но я не уверен, что это огромное соображение. Больше всего меня беспокоит необходимость читать / записывать в Memcache для каждого варианта запроса. Я полагаю, я мог бы ограничить это наиболее распространенными запросами.
Полагаю, самый большой вопрос в том, нужен ли Mongo кеш памяти для такого рода функций более низкого уровня.