清除齐射缓存需要哪个网址无效?

时间:2016-06-14 06:44:16

标签: android caching android-volley

实际上我对排球缓存管理有一点混淆。假设我有一个带有BASE URL http://example.com的API但是当我调用我的api时,我会附加一个布局参数,所以最后它看起来像http://example.com?sort_by=distance

所以,如果我想清除这个url的缓存哪一个应该是我的密钥 http://example.comhttp://example.com?sort_by=distance

如果答案是第二个,那么我是否需要为所有由不同url参数创建的url单独清除缓存。

2 个答案:

答案 0 :(得分:0)

volley(我猜所有其他缓存系统)使用完全详细的url u调用作为缓存数据的密钥。 如果你想删除一个缓存条目,你需要通过完全完整的链接来完成。 链接" www.example.com/amir?id = 1"与" www.example.com/amir?id = 2"不同。否则缓存会比效率更麻烦。

答案 1 :(得分:0)

顺便说一句,你不需要删除缓存。考虑到一些因素,这是凌空处理的事情。

如果您需要调用跳过客户端和服务器中所有缓存系统的链接,最简单的方法是在API调用结束时放置一个timpestamp。 如果您的链接为www.example.com/amir/id/2,请将此链接设为= => www.example.com/amir/id/2?timestamp=54461

通过Java的System.currentTimeMillis()生成时间戳前面的数字。您可以将其除以一个数字,以使缓存值在一段时间内有效。