我有一个应用程序需要来自Service2的数据,它将永远返回给定请求的相同答案,除非其后备数据库已更新。数据库很少更新,我们每年说两次。如何正确设计一个restful API来使缓存失效?
我想设计一个解决方案,以便应用程序缓存Service2的答案,但要从外部提供一个功能,以使应用程序的缓存失效。我想从应用程序中暴露一个RESTful Web服务,但是我对如何正确设计它感到困惑。
/application/cache/invalidate
是一个非REST式网址 - 我在考虑用HTTP POST调用/application/cache/
。但是,在我看来,对于适当的RESTful设计,当POST用于更新资源时,要更新的内容应包含在请求的主体中。
什么是正确的方式来设计一个“InvalidateCache”宁静的web服务?
优秀!在DELETE发布后,缓存是否自动重新生成,是否符合REST? – Edmondo1984
是的,没有什么可以阻止另一位演员修改缓存。从另一个角度来看,比如说你在缓存中暴露了一堆PUT值,并且在DELETE之后立即发生了PUT。在该序列之后,缓存不会为空,但每个REST操作的结果都是有效的。 –
我一直想知道的是如何正确支持需要实时数据的管理员门户,同时还支持面向客户的应该获取缓存数据的网站。 –