OKGO 修改缓存数据

2019-09-16  本文已影响0人  colinWong

okgo缓存策略

缓存策略总共有5种分别如下

public enum CacheMode {
    /** 按照HTTP协议的默认缓存规则,例如有304响应头时缓存 */
    DEFAULT,

    /** 不使用缓存 */
    NO_CACHE,

    /** 请求网络失败后,读取缓存 */
    REQUEST_FAILED_READ_CACHE,

    /** 如果缓存不存在才请求网络,否则使用缓存 */
    IF_NONE_CACHE_REQUEST,

    /** 先使用缓存,不管是否存在,仍然请求网络 */
    FIRST_CACHE_THEN_REQUEST,
}

使用方法如下

                OkGo.get("url")
                    .cacheKey("key")
                    .cacheMode(CacheMode.FIRST_CACHE_THEN_REQUEST)
                    .execute(new StringCallback() {
                        @Override
                        public void onSuccess(String s, Call call, Response response) {
                            //网络回调
                        }

                        @Override
                        public void onCacheSuccess(String s, Call call) {
                            //缓存回调
                        }
                    });

缓存数据为okgo自己在读到网络数据时候保存,但如果要修改缓存的数据如何修改。修改方法如下

                    CacheEntity cacheEntity = CacheManager.INSTANCE.get("key");
                    if (cacheEntity != null) {
                        cacheEntity.setData(value);
                        CacheManager.INSTANCE.replace("key", cacheEntity);
                    }
上一篇 下一篇

猜你喜欢

热点阅读