I am trying to get a better understanding of the following options enableSingleSchemaCache, schemaCacheTTL and cacheTTL on parse server. The documentation is fairly sparse but here is my limited (and quite possibly wrong) understanding of these parameters.
enableSingleSchemaCache - This one default to false and I have no idea why it would. My understanding is that the schema definition (list of tables/classes, field definitions, etc) is loaded with every REST API call? This would seem like a huge overhead and I cant imagine why anyone would want this set to FALSE in production.
schemaCacheTTL - This is how long the schema definition (list of tables/classes, field definitions, etc) are stored in memory. The documentation above does say to set this to “a long TTL in production” but I am wondering what values are people using in their production config. Considering I make schema changes once or twice every 2-3 months I would think this should be set to NEVER expire and only expire when I make a structure change to any of the classes/tables.
cacheTTL - I really am not sure about this but I am going to take a guess. When I instantiate an instance of a class the object is cached in memory. So if I instantiate it again, it will be retrieved from memory and not incur a round trip to the the DB (mongo in my case). If that is true, does this cache persist beyond the life of the cloud function? 5 seconds (the default value) doesnt seem like a very useful cache period. What are people setting this to?