MGJTempStore 0.8.0

MGJTempStore 0.8.0

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布上次发布2015年4月

limboy维护。



  • 作者
  • lzyy

MGJTempStore 是什么

MGJTempStore 是一个用于临时存储数据的 Objective-C 类库

使用场景

缓存统计信息

我们在开发 App 时,通常会在客户端设置一些监测点,比如「进入某个页面」或「点击某个按钮」等,这些操作会相对频繁发生,且对实时性没有很高的要求,因此没有必要立即向服务器端发送数据。这时可以使用这个小工具来临时存储这些数据,等到合适的时机(如文件大小超过 1K,或更新时间超过 60 秒等)时再发送,从而降低服务器的压力。即使发送失败,这些数据仍然存在,下次再次读取时仍然可以获取。

缓存没有网络下的请求

为了提升用户体验,有时我们希望在无网络状态下也能「假装」操作成功,只是数据在客户端返回。这时可以将这些请求先存储在本地,等到网络连接后统一发送。

缓存日志

为了便于故障排查或统计客户端运行情况,可能会在客户端记录一些日志。这时也可以用这个工具来实现。

Demo

使用

MGJTempStore *store = [[MGJTempStore alloc] initWithPath:@"tmp.txt"];
[store appendData:@"foobar"]; // 1
[store consumeDataWithHandler:^(NSString *content, MGJTempStoreConsumeSuccessBlock successBlock, MGJTempStoreConsumeFailureBlock failureBlock) {
//  failureBlock(); // 2
//  successBlock(); // 3
    });
}];
  1. 写入数据,目前仅接受 NSString
  2. 获取数据后,如果消费失败,则调用此 Block,数据将被重新放回。
  3. 如果消费成功,则调用此 Block,数据将被清除。

协议

MGJTempStore 在 MIT 协议下受许可。请查阅 LICENSE 文件以获取更多信息。