在REST中使用缓存

在REST中使用缓存,rest,caching,Rest,Caching,在restfulapi中,可以缓存GET/api/resources/resourceID等请求。但下次访问同一资源时,缓存的值应仅返回给资源的所有者(即请求需要授权)。是否可以使用此缓存并仍然仅向授权用户提供数据 谢谢 您可以在缓存密钥中包含用户的身份。假设资源根据用户是否登录而有所不同。缓存密钥的示例(有许多方法可以格式化它们): 您需要选择一个不能在任何数据中显示的分隔符(“:”) 另一件需要考虑的事情是如何将事情从队列中老化——您不希望最终出现缓存未命中,因为缓存中充满了用户特定的数据,

在restfulapi中,可以缓存GET/api/resources/resourceID等请求。但下次访问同一资源时,缓存的值应仅返回给资源的所有者(即请求需要授权)。是否可以使用此缓存并仍然仅向授权用户提供数据


谢谢

您可以在缓存密钥中包含用户的身份。假设资源根据用户是否登录而有所不同。缓存密钥的示例(有许多方法可以格式化它们):

您需要选择一个不能在任何数据中显示的分隔符(“:”)

另一件需要考虑的事情是如何将事情从队列中老化——您不希望最终出现缓存未命中,因为缓存中充满了用户特定的数据,这些数据将永远不会被再次使用

For non-logged in:
"resource:{resourceID}" (if you are storing more than just resources)
"{resourceID}" (if your cache stores only resources)

For logged-in user:
"resource:{resourceID}:{userID}" or "{resourceID}:{userID}"