html购物车用什么缓存好点,iOS 用10行代码实现购物车缓存

本文介绍了一种在iOS应用中不使用数据库的策略,通过单例和NSMutableDictionary实现购物车商品数量缓存,提升性能并节省流量。重点讲解了如何利用缓存避免网络请求,以及NSCache与NSMutableDictionary的选择和潜在问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求:

1.购物车缓存商品勾选数量.(这一个需求当然也是我自己加的...).

限制:

1.时间不允许采用数据库,或者其他持久化方式(当然是我懒...).

实现:

接下来 贴出要使用到的演示代码,和实现代码.

fe810b7f626e

jianshu1.png

这里调用我传入的是 &data 因为&是取地址嘛,具体传&标示什么意思有不明白的可以回去读读C我在这就不过多解释了,不是主题.(其实我也说不明白!).

fe810b7f626e

jianshu2.png

这里是关键的实现部分了.

原理:

实现原理其实特别简单,从前有一个单例, 单例里面有一个

NSMutableDictionary

这个 NSMutableDictionary 就是我们用来做缓存的工具,其实我有试过NSCache为什么用这个?(可能是用这个看起来比较牛逼).

但是NSCache 虽然会有一些好处,但是给我项目带来的弊端也是明显的,它是apple提供的缓存策略,可以限制缓存 数量,或者限制缓存的 容量.但是如果限制了,在内存较高的时候释放一部分缓存.当前控制器如果还在引用此缓存当中的对象 那么对象已经被释放了,所以很结果尴尬了.(当然这个问题是可以解决的,暂时先不去管它).因为 其实他们使用起来都是差不多的,原理也类似.

真正的原理:

1.第一次请求数据,缓存到 cache 中,然后每次我们增加某一个商品数量,其实修改的是cache当中单条数据的数量.

2.第二次请求数据,去Cache 中查找是否存在此次缓存,如果存在,那么替换当前请求的返回数据,(当然这里可以直接获取缓存数据,网络请求都不用跑了.真是牛逼,流量都省了.真是个天才).

3.第三次请求数据,去Cache中查找数据,如果不存在 那么-> 1步.

其实真正起作用的代码不到10行,原理非常简单,会iOS 的都能读懂.

转载请注明出处,喜欢请给我个星,鼓励我继续研究奇淫技巧.!

如果有新的好点子,改进欢迎指正.交流技术,分享装13技巧.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值