[TLDR] Кэширует ли CouchDB и повторно использует результаты функций отображения / уменьшения для неизмененных документов?
Справочная информация: В моей точке продажи(POS) приложения, все транзакции регистрируются и создаются отдельным документом.
{ "_id": "sale_transactions_1234124", "Quanity Added": 0, "Quanity reduced": 10, "Is Discarded": "false", "saleid": "sales_523" }
{ "_id": "Purchaseorder_transactions_1234124", "Quanity Added": 5, "Quanity reduced": 0, "Is Discarded": "false" , "purchaseid": "purchase_2352"}
При любом изменении инвентаря соответствующие документы создаются как transactions
, это поле _id.Таким образом, вместо хранения Total sold, Quantity in hand
в Item
документе, планируйте создавать карту в уменьшенном виде для извлечения каждый раз.
Каждый раз, когда я делаю продажу, должна вызываться функция уменьшения карты Quantity in hand
, чтобы проверить, является ли количество больше нуля.При таком подходе я столкнусь с какой-либо проблемой производительности, или вы порекомендовали создать Total sold, Quantity in hand
в документе Item
Так что каждый раз, когда мы вызываем функцию карты редукции, это может быть как-то кэшировать результаты неизмененного документа и обрабатывать новые иизмененные документы или все документы обрабатываются каждый раз?