key/value 缓存机制:JMCache
jopen
11年前
JMCache 是 key/value 存储,为持久化临时对象设计的,完全基于 GCD。
// Async API - (void)objectForKey:(NSString *)key withCompletionBlock:(JMCacheCompletionBlockObjectError)block; - (void)setObject:(NSObject *)obj forKey:(NSString *)key withCompletionBlock:(JMCacheCompletionBlockBoolError)block; - (void)removeObjectForKey:(NSString *)key withCompletionBlock:(JMCacheCompletionBlockBoolError)block; - (void)clearCacheWithCompletionBlock:(JMCacheCompletionBlockBool)block; // Sync API - (id)objectForKey:(NSString *)key; - (BOOL)setObject:(NSObject *)obj forKey:(NSString *)key; - (NSInteger)numberOfCachedObjects;
JMCache 支持:
-
存储对象不支持 NSCoding 协议,通过一个自定义的协议实现(JMcoding 或者 FastCoding)
-
使用一个 ValueTransformer 来提升你编码对象的安全性,你可以用自己的算法 zip 和加密它
-
可以配置缓存 "memory then disk", "only memory", "only disk"