Skip to content
This repository has been archived by the owner on Nov 15, 2017. It is now read-only.

JaviSoto/JSCache

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Description

  • JSCache is a simple and fast thread-safe key-value cache class to easily archive objects and cache images to disk.
  • It is built on top of EGOCache
  • It can be easily turned off for debugging just by setting
#define JSCACHE_ENABLED 0
  • The default cache durations are these (but can be easily changed)
#define kJSCacheImageCacheDurationInSeconds 1296000 // 15 days
#define kJSCacheDataCacheDurationInSeconds 604800 // 7 days

Usage

  • You can get a shared instance by calling:
+ (JSCache *)sharedCache;

Data caching

  • To cache objects you simply call -cacheObject:forKey: passing an object which can be serialized (conforms to the NSCoding protocol)
- (void)cacheObject:(id<NSObject, NSCoding>)object forKey:(NSString *)key;
  • This method will archive the object in a background queue for avoiding unnecessarily blocking the UI and then pass the NSData to EGOCache to save it to disk.
  • You can later on access that object by calling -cachedObjectForKey: and passing the same key.

Image caching

  • To cache an image object you call -cacheImage:forKey: with an UIImage object or -cacheImageData:forKey: with an NSData representing the image. Usually you will want the URL from where you got the image to be the key.
- (void)cacheImage:(UIImage *)image forKey:(NSString *)key;
- (void)cacheImageData:(NSData *)data forKey:(NSString *)key;
  • And then to retrieve a cached image you just call -cachedImageForKey: or -cachedImageDataForKey:.

Invalidation of cached objects

  • You can call -invalidateAllCachedObjects to purge the whole cache, or you can call -invalidateCachedObjectForKey: to invalidate a certain cached object.
- (void)invalidateCachedObjectForKey:(NSString *)key;
- (void)invalidateAllCachedObjects;

About

Simple and fast thread-safe key-value cache class to easily archive objects and cache images to disk (built on top of EGOCache)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published