我需要一个合适的缓存方法,用于显示Google Calendar API数据的企业门户。哪种算法或设计模式最适用?
Google Calendar API受到每天请求数量的限制(默认为10,000个请求/天 - 我已请求更多)和访问率( 5个请求/秒/用户< / em>的)。
我希望使用两种核心API方法,一种用于获取list of user calendars( 1 API命中),另一种用于download the events of an individual calendar( 1 API按日历命中)。
日历列表和各个日历都包含 etag 值,可用于帮助避免不必要的API请求。如果您有单个日历 etag 值的列表,则只需查询日历列表即可查看是否有任何更改。 (遗憾的是,HTTP 304 Not Modified 响应仍被视为API命中。)
此外,我真的不想下载和缓存整个日历内容(所以可能一次只有几天或几周)。
我需要找到一种尝试最小化API调用次数但不尝试存储所有内容的方法。它还需要能够应对偶尔从未更改的日历中获取数据,因为日历数据上的“时间滑动窗口”已经移动。我希望系统由数据存储支持,以便多个门户实例可以共享相同的数据。