淘新媒一站式抖音账号买卖、转让、交易平台,安全快捷!
客户热线: 19938067410

手机存储空间用于扩展运行内存(手机储存内存可以转化为运行内存)

2022-05-022022-05-02

安卓、iOS缓存机制

APP上的缓存机制类似于浏览器缓存的原理,APP和服务器之间的协议大多基于HTTP(S)。

先普及一下基础知识:手机内存包括运行内存和内部存储。运行内存是用来运行程序的,不是用来永久存储数据的。一旦手机关机或进程被终止,内存中的所有数据都将丢失。内存相当于电脑中硬盘的作用,是用来存储操作系统和应用程序的存储介质。

iOS的本地缓存数据存储在磁盘存储器(内部存储器)中。因为安卓手机一般都是把内存固定在核心上,一般不可能更换内存。为了增强安卓手机的存储容量,很多安卓手机都支持扩展SD卡(相当于电脑的u盘或者移动硬盘)的功能。因此,Android手机存储缓存可以选择数据存储位置。

APP存储数据时,会存储很多字段。一般后台会为每条数据设置一个独立的id值,所以前端可以先在本地缓存的数据中查询最新一条数据的id值,通过网络请求将这个id值发送给服务器。服务器会根据这个id查询后台服务器是否有比这个id值更大(更新)的数据,如果有,将新数据返回给前端APP。

数据库缓存

数据库的缓存机制分为两个层次。

由数据库提供,它可以为数据表建立一个缓存。数据库的数据暂存在一个位置,再次发出同样的请求直接返回数据,就不需要再次查询各种表进行数据检索,减少了搜索数据库的时间,提高了效率。并非所有历史记录都被缓存。应该有策略。例如,只有两个月的数据将被缓存,当两个月前有一个请求,然后不再请求数据时,它将被回收。也就是这个记录会被擦除,附近被请求过几次的数据会被保存。如果时间太长,利用率不高,先清除;否则,过多的缓存会失去缓存的本质和意义。

在数据库中,所有数据都存储在磁盘中。虽然对应的缓存是在数据库级做的,但是这种数据库级的缓存一般是针对查询内容的。一般情况下,只有当表中的数据没有发生变化时,数据库对应的缓存才起作用。有时无法减少业务系统给数据库带来的添加、删除、检查、更改的巨大压力。这时候一般的做法是在数据库和业务服务器之间加一个缓存服务器,比如大家熟悉的redis。客户端第一次请求的数据从数据库中取出后,放入redis。在数据没有过期或变化的前提下,下一个请求直接从redis中取数据,大大减轻了数据库的压力。