Я приехал из «страны Google App Engine», где результат запроса может храниться в кэше памяти; он позволяет детально контролировать, какие запросы или объекты хранятся. Это помогает снизить стоимость часто запрашиваемых и больших запросов. Если я прав, то в Firestore все иначе.

AFAIK, кэш памяти Firestore автоматически выбирает, что кэшировать, чтобы повысить производительность и снизить стоимость. Чем отличается кэш памяти между Firestore и Google App Engine

3
puoygae 15 Сен 2018 в 17:11

2 ответа

Лучший ответ

Firestore (и Firebase в целом) не имеют кэша памяти, но вы можете использовать его с облачным хранилищем памяти Google сервис memcache или любой другой. И я думаю, что это лучше, потому что это просто служба Redis с полностью совместимым API Redis, тогда как кэш памяти в GAE был проприетарным.

Я также хотел бы отметить, что в новых гибких средах GAE не используется кэш памяти GAE, поэтому я предполагаю, что даже сам GAE отходит от проприетарного кэша памяти.

2
Tom 15 Ноя 2018 в 20:27

Ни Firestore, ни Datastore не предоставляют «родной» реализации кеширования. Интеграция хранилища данных / кэша памяти в GAE не является заданной функцией, она в основном предоставляется фреймворками доступа к данным, такими как Objectify, которые все еще позволяют обновлять реализации для нового API (переключение с хранилища данных на хранилище данных в режиме хранилища данных!).

Хорошая новость заключается в том, что если ваши запросы все еще поступают из экземпляра движка приложений, у вас не должно возникнуть проблем с реализацией некоторого «перехватчика» для проверки значений кеша перед переходом в БД, к сожалению, вы будете нести ответственность за обновление, проверку и очистку этого данные вручную из кэша памяти.

1
jirungaray 26 Окт 2018 в 03:02