Android 哪个url需要无效才能清除截取缓存?

Android 哪个url需要无效才能清除截取缓存?,android,caching,android-volley,Android,Caching,Android Volley,实际上,我对截击缓存管理有一点困惑。假设我有一个基本URLhttp://example.com但是当我调用我的api时,我附加了一个布局参数,所以最后看起来像http://example.com?sort_by=distance 因此,如果我想清除这个url的缓存,应该使用哪个url作为我的密钥 http://example.com或http://example.com?sort_by=distance 若答案是第二个,那个么我需要独立地清除由不同url参数创建的所有url的缓存 volley(

实际上,我对截击缓存管理有一点困惑。假设我有一个基本URL
http://example.com
但是当我调用我的api时,我附加了一个布局参数,所以最后看起来像
http://example.com?sort_by=distance

因此,如果我想清除这个url的缓存,应该使用哪个url作为我的密钥
http://example.com
http://example.com?sort_by=distance

若答案是第二个,那个么我需要独立地清除由不同url参数创建的所有url的缓存

volley(我猜所有其他缓存系统)都使用u调用的确切详细url作为缓存数据的键。 如果你想删除一个缓存条目,你需要完全链接。
链接“www.example.com/amir?id=1”与“www.example.com/amir?id=2”不同。否则,缓存将是麻烦多于效率。

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

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


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

在我看来,这就像您正在访问一个不缓存数据的Web服务……我的网站让我缓存url数据。但有时当我得到一个更新标志时,我需要清除缓存并再次调用api。默认情况下,这是URL。*/公共字符串getCacheKey(){return getUrl();}then
public Request(int方法、字符串url、Response.ErrorListener侦听器){mMethod=method;mUrl=url;mErrorListener=listener;setRetryPolicy(新的DefaultRetryPolicy());}