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"

 key/value 缓存机制:JMCache

项目主页:http://www.open-open.com/lib/view/home/1409821971275