是否可以以共享方式使用 okhttp 缓存,即:让多个客户端访问同一缓存目录,以避免每个客户端都保留自己的缓存目录。
在 repices of the okhttp wiki我们发现:
It is an error to have multiple caches accessing the same cache directory simultaneously
我并不是在寻找不同的缓存来使用同一文件夹,而是在寻找可以由多个客户端更新的单个共享缓存。
一个简单的例子是(在 Java 中)运行:
Cache cache = new Cache(cacheDirectory, cacheSize);
client = new OkHttpClient.Builder().cache(cache).build();
client2 = new OkHttpClient.Builder().cache(cache).build();
这样做会不安全吗?如果是这样,是否有其他方法可以实现这一目标,或者根本不可能?
最佳答案
是的,这是完全安全的。无论是在一个进程还是多个进程中,共享一个目录的多个 Cache
实例都是不安全的。
关于java - 如何在okhttp中使用共享缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50133101/