文档章节

中高级面试知识点:缓存

Mr_zebra
 Mr_zebra
发布于 11/14 14:47
字数 557
阅读 9
收藏 0

前言

几乎所有的项目都做了缓存,但是缓存做的怎么样,其实只有我们自己知道。缓存做的好,没有网络也能流畅的使用;再多的数据请求都不会出现卡顿延迟等待很久的情况。

程序中除了图片缓存(三级缓存),还有信息缓存。当用户无法联网时,app会默认显示缓存的数据。

前言缓存方式

SQLite

下载完数据文件后,把文件的相关信息如url,路经,下载时间,过期时间等存放到数据库,把url作为唯一的标识。下次下载的时候根据url先从数据库中查询,如果查询到当前时间并未过期,就根据路径读取本地文件,从而实现缓存的效果。

文件缓存使用File.lastModified()方法得到文件的最后修改时间,与当前时间判断是否过期,从而实现缓存效果。数据格式为JSON。

缓存方式两点说明

1、不同类型的文件的缓存时间不一样。笼统的说,不变文件的缓存时间是永久,变化文件的缓存时间是最大忍受不变时间。说白点,图片文件内容是不变的,一般存在SD卡上直到被清理,我们是可以永远读取缓存的。配置文件内容是可能更新的,需要设置一个可接受的缓存时间。

2、不同环境下的缓存时间标准不一样。无网络环境下,我们只能读取缓存文件,为了应用有东西显示,没有什么过期之说了。

WiFi

网络环境下,缓存时间可以设置短一点,一是网速较快,而是流量不要钱。

本文转载自:http://click.aliyun.com/m/1000023896/

共有 人打赏支持
Mr_zebra
粉丝 24
博文 1098
码字总数 509
作品 0
私信 提问
45节课从零到一掌握 Redis 核心原理与应用实践

Redis 是互联网技术架构在存储系统中使用最为广泛的中间件,它也是中高级后端工程师技术面试中面试官最喜欢问的工程技能之一,特别是那些优秀的、竞争激烈的大型互联网公司(比如 Twitter、新...

江江也叫Glowin
昨天
0
0
Redis 深度历险:核心原理与应用实践

内容介绍 Redis 是互联网技术架构在存储系统中使用最为广泛的中间件,它也是中高级后端工程师技术面试中面试官最喜欢问的工程技能之一,特别是那些优秀的、竞争激烈的大型互联网公司(比如 ...

技术小能手
08/01
0
0
大咖说-前端大型免费公开讲座

  为什么大多数企业都会要求应聘的人有一个工作年限呢?原因很简单,他们想要一位拥有来了就能立刻投入新工作的能力的员工,这样就可以给公司省下大量的内部培训成本。换言之,企业需要员工...

学习web前端
2017/11/10
0
0
安卓中高级开发面试知识点之——缓存

前言 几乎所有的项目都做了缓存,但是缓存做的怎么样,其实只有我们自己知道。缓存做的好,没有网络也能流畅的使用;再多的数据请求都不会出现卡顿延迟等待很久的情况。 程序中除了图片缓存(...

codeGoogle
11/14
0
0
阿里、百度等多家公司Java面试记录与总结

算算自己大概面试了近十家公司,也拿到了几个Offer,现在面试告一段落,简单总结下面试经验。 我现在主要的方向是Java服务端开发,把遇到的问题和大家分享一下,也谈谈关于技术人员如何有方向...

07/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

正则表达式匹配不包含

^((?!xxx).)*$

安小乐
9分钟前
1
0
python Windows tkinter应用开发3 列出目录的所有文件

在本章中,我们将编写程序来执行此操作。 1)选择文件夹。 2)在UI的标签部分打印该文件夹中的所有文件名(带文件扩展名)。 首先,修改selectFile函数以打开文件夹。主文件如下: from tki...

python测试开发人工智能安全
11分钟前
1
0
使用Laya引擎开发微信小游戏(上)

  使用一个简单的游戏开发示例,由浅入深,介绍了如何用Laya引擎开发微信小游戏。      img      作者:马晓东,腾讯前端高级工程师。      微信小游戏的推出也快一年时间了,...

SEOwhywhy
15分钟前
1
0
react程序开发问题记录

1、webpack.config.dev.js文件的publicpath配置

teamlog
28分钟前
2
0
javascript 值转换为布尔值

任意javascript 的值都可以转换为布尔值。 特别是在 if() 等判断中使用的时候: 下面这些值会被转换为 false undefined , null , 0 , -0 , NaN , "" 空字符串 来自 JavaScript 权威指南 书籍...

之渊
31分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部